ubuntu前書きSilexはSymfony2コンポーネント上に構築されたPHPマイクロフレームワークです。小規模なWebサイトと大規模なアプリケーションを同様に構築するために使用できます。簡潔で、拡張可能で、テスト可能です。このチュートリアルでは、Silexをダウンロードして構成することから始めます。次に、基本的なSilexアプリケーションの作成方法を学びます。Composerを使用して、人気のPHPパッケージマネージャーであるSilexをインストールします。[このチュートリアル]を参照してください。このチュートリアルの最後に、完全に機能するブログサイトが作成されます。_*注意:*このチュートリアルはUbuntuでテストされましたが、他のLinuxディストリビューションでも同様に機能するはずです。リンクはUbuntuのチュートリアルを参照していますが、サーバーをセットアップし、LAMPスタックとGitをインストールするための適切なガイドを見つけてください。_前提条件これらの前提条件を完了してください。[このチュートリアル]をご覧ください。userLAMPスタックGitステップ1-Silexのインストールこのセクションでは、Composerを使用してSilexをインストールします。html`に変更します。/var/www/html次に、このフォルダーのデフォルトのコンテンツを削除します。+`ディレクトリに移動します。/var/www次に、Composerをダウンロードします。composer.json`を作成および編集します。composer.jsonこのファイルに、次の内容を追加します。}}Composerに、Silexバージョン1.2を依存関係としてダウンロードするように指示しました。ダウンロードを開始するには、次のコマンドを実行します。updateこれで、ComposerはSilexとその依存関係をダウンロードします。これには数秒かかる場合があります。ステップ2-Silexのブートストラップこのセクションでは、必要なファイルを含めてアプリケーションを作成し、Silexをブートストラップします。index.php`を編集します。/var/www/html/index.phpこのファイルに、次の基本的な内容を追加します。request?>このチュートリアル全体を通して、このファイルにさらに構成情報やその他のデータを追加します。+`はデバッグを有効にします。これはアプリケーションの開発時に役立ちます。*に次の行を追加します。+ステップ3-ブログアプリケーションの作成このセクションでは、サンプルのブログアプリケーションを作成します。documentation]をご覧ください。サンプルのブログアプリケーションを作成します。documentation]を見ると比較的簡単に変換できます。最初に、別の依存関係を追加することから始めます:http://twig.sensiolabs.org/[Twig]。Twigは、Symfonyフレームワークでも使用されるテンプレートエンジンです。アプリケーションのテンプレートを提供します。+」の新しい依存関係行を追加します。}}次に、Composerの依存関係を更新します。updatemod_rewriteを有効にする次に、Webサーバー(この場合はApache)を構成する必要があります。`ファイルの変更を許可していることを確認してください。+`ファイルに追加します。.htaccess`ファイルを作成して編集します。/var/www/html/.htaccessこのファイルに、次の内容を追加します。[QSA,L]</IfModule>これにより、存在しないファイルへの要求がアプリケーションを指すようになり、アプリケーションがルーティングを実行できるようになります。記事を追加するために、タイトル、コンテンツ、著者、発行日を含む配列を作成します。これを拡張するコンテナオブジェクトを使用して、アプリケーションオブジェクトに保存できます。コンテナオブジェクトは複数のオブジェクトを保持でき、アプリケーション内の他のすべてのオブジェクトで再利用できます。/var/www/html/index.php次の内容を追加します。),);これらの記事は、アプリケーションのどこででも再利用でき、さらに自分で追加することもできます。実際のWebサイトの場合、データベースを使用することをお勧めします。`のようなURLをそれに関連付けられた機能にマッピングして実行します。+`に以下を追加します。+`にアクセスすると、記事タイトルのリストが表示されるはずです。[2つの記事タイトルを表示した、上記で作成されたページのブラウザービュー]テンプレートウェブサイトに正しい出力が表示されるようになりましたが、見た目はあまり良くありません。これを修正するために、Twigを使用します。provider_として登録する必要があります。これは基本的に、アプリケーションの特定の部分を別のアプリケーションで再利用する方法です。/var/www/templates));Twigテンプレートエンジンを使用できるようになりました。+`のルートを定義し、ここに表示されているものと一致させます。新しい行は次のとおりです。argument});変更を保存してファイルを閉じます。`テンプレートを作成しましょう。/var/www/templates/base.html.twigこのファイルはベーステンプレートになります。他のすべてのテンプレートはこのテンプレートから継承されるため、すべてのテンプレートに基本を追加する必要はありません。このファイルに、次の内容を追加します。%}</body></html>このファイルには2つの_blocks_が含まれています。ブロックをサブテンプレートでオーバーライドして、コンテンツを提供できます。」というブロックは、単一の記事ページのタイトルを提供するために使用されます。+`は、すべてのコンテンツを表示するために使用されます。変更を保存してください。+」を作成および編集します。/var/www/templates/index.html.twig次の内容を追加します。`を拡張することを指定します。その後、親テンプレートで定義されたブロックのオーバーライドを開始できます。+」のみをオーバーライドします。+」にアクセスします。次に、単一の投稿を表示する別のコントローラーを追加します。投稿は配列インデックスと照合されます。+`に追加すると、個々の記事のページを表示できるようになります。routes'変更を保存してください。+`を作成および編集します。/var/www/templates/single.html.twig次の内容を追加します。`ブロックも使用します。+`ブロックとほとんど同じように見えるため、一目瞭然です。+`などの存在しないIDにアクセスすると、エラーページが表示されます。[存在しない記事エラーのブラウザビュー、HttpException]ルートを生成する次に、ホームページから単一の記事ビューにリンクを追加し、記事からホームページに戻るリンクを追加します。Silexには、Symfonyコンポーネントを使用してルートを生成する機能があります。`に追加する必要があります。Silex\Provider\UrlGeneratorServiceProvider());これにより、URLジェネレーターサービスを利用できるようになります。Controllerを作成したときに、名前付きルートをすでに追加しています。次の行を使用して行われました。routes'ここで、ルートをホームページにバインドする必要もあります。‘index’)`ルートを追加します。変更のマークは次のとおりです。);});次に、実際にURLを生成する必要があります。%}これにより、記事のタイトルから個々の記事ページへのリンクが作成されます。+`は登録したサービスを指します。+)と、ルートのパラメーター(この場合は単なるID)。`は、ループ内の0インデックス付きインデックスを参照します。2番目の項目がループされるとき、それは「+1」などです。同じことが、単一ページテンプレートのインデックスページを参照するために実行できます。+`行を追加してリンクを作成します。%}これは一目瞭然です。+`でウェブサイトに再度アクセスしてください。記事のタイトルをクリックしてその記事のページにアクセスし、記事の下部にあるリンクを使用してホームページに戻ることができるはずです。+`ファイルは次のようになります。request?>結論Silexを使用して簡単なブログアプリケーションを作成しました。データベースとの結合から始めて、さらに拡張することができます。これはこのチュートリアルの範囲外です。[公式ドキュメント]は非常に役立つ可能性があり、Silexを引き続き使用する場合は必読です。Silexが小さすぎる場合は、Symfonyフレームワークの使用を検討する必要があります。Symfonyフレームワークのチュートリアルについては、https://www.digitalocean.com/community/tutorials/how-to-install-and-get-started-をご覧ください。