Looking for silex Answers? Try Ask4KnowledgeBase
Looking for silex Keywords? Try Ask4Keywords

silex開始使用silex


備註

本節概述了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>