本節概述了silex是什麼,以及開發人員可能想要使用它的原因。
它還應該提到silex中的任何大型主題,並鏈接到相關主題。由於silex的文檔是新的,您可能需要創建這些相關主題的初始版本。
在與vendor
目錄相同的文件夾中創建web
目錄。在web
目錄中創建包含內容的index.php
文件
<?php // web/index.php require_once __DIR__.'/../vendor/autoload.php'; $app = new Silex\Application(); $app->get("/", function () { return "Hello world!"; }); $app->get("/hello/{name}", function ($name) use ($app) { return "Hello ".$app->escape($name); }); $app->run();
使用PHP 內置服務器運行啟動應用程序
php -S localhost:8080 -t web
現在您可以打開瀏覽器並導航到http://localhost:8080
,以查看
你好,世界!
我們還定義了一條動態路線。導航到http://localhost:8080/hello/<YOUR_NAME>
用您自己的名字替換<YOUR_NAME>
,以迎接您的第一個Silex應用程序。
請考慮遵循以下目錄結構以符合最佳實踐:
[ProjectRoot]
|---[app]
| |---[resources]
| routes.php
|---[web]
| |---[resources]
| | |---[css]
| | |---[img]
| | |---[js]
| .htaccess
| index.php
|---[src]
|---[var]
|---[vendor]
composer.json
composer.lock
Composer是最靈活的Silex入門方式。創建一個目錄來託管您的Silex應用程序(上面命名為ProjectRoot
), cd
到該目錄並運行以下命令來創建composer.json
文件:
composer require silex/silex "~2.0"
這將在ProjectRoot
下將一些文件和目錄添加到vendor
目錄中。
之後,您需要做的就是需要vendor/autoload.php
文件,並在ProjectRoot/web
下的index.php
文件中創建Silex\Application
實例。在您的控制器定義( routes.php
)之後,在您的應用程序上調用run
方法:
ProjectRoot /網絡/ index.php文件
require_once __DIR__ . '/../vendor/autoload.php';
$app = new Silex\Application();
require_once __DIR__ . '/../app/routes.php';
$app->run();
ProjectRoot /應用/ routes.php文件
$app->get("/", function () {
return new \Symfony\Component\HttpFoundation\Response('Hello World!');
});
ProjectRoot /網絡/的.htaccess
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
</IfModule>