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

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 に移動し、

"こんにちは世界"

1つの動的ルートも定義しました。最初のSilexアプリケーションで<YOUR_NAME> ために、自分の名前で<YOUR_NAME>http://localhost:8080/hello/<YOUR_NAME><YOUR_NAME> してください。

インストールまたはセットアップ

ベストプラクティスを遵守するためにディレクトリ構造を次のように考慮してください。

[ProjectRoot]
    |---[app]
    |    |---[resources]
    |    routes.php
    |---[web]
    |    |---[resources]
    |    |    |---[css]
    |    |    |---[img]
    |    |    |---[js]
    |    .htaccess
    |    index.php
    |---[src]
    |---[var]
    |---[vendor]
    composer.json
    composer.lock
 

作曲家はSilexを使い始めるのに最も柔軟な方法です。あなたサイレックスの(名前付きアプリケーションホストするディレクトリを作成しますProjectRoot 以上)、 cd そのディレクトリにして作成するには、以下のコマンドを実行しますcomposer.json ファイルを:

composer require silex/silex "~2.0"
 

これは、いくつかのファイルとディレクトリをProjectRoot vendor ディレクトリに追加します。

その後、 vendor/autoload.php ファイルが必要で、 index.php ファイルのProjectRoot/webSilex\Application インスタンスを作成するだけです。あなたのコントローラ定義( routes.php )の後、あなたのアプリケーションでrun メソッドを呼び出します:

ProjectRoot / web / index.php

require_once __DIR__ . '/../vendor/autoload.php';

$app = new Silex\Application();
require_once __DIR__ . '/../app/routes.php';

$app->run();
 

ProjectRoot / app / routes.php

$app->get("/", function () {
    return new \Symfony\Component\HttpFoundation\Response('Hello World!');
});
 

ProjectRoot / web / .htaccess

<IfModule mod_rewrite.c>
    Options -MultiViews
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [QSA,L]
</IfModule>