VPSにTwigをインストールして開始する方法
Twigについて
Twig は、PHP用に設計された最新のテンプレートエンジンであり、デザイナーと開発者の両方に適しています。 これは、Webアプリケーションのプレゼンテーションロジックを構築するPHPTemplateの方法に代わる非常に優れた方法であり、はるかにクリーンなテンプレート作成エクスペリエンスを表します。 この点で、構文が非常に理解しやすく、テンプレートファイルで動的なPHP操作を実行することを制限します。これは実行すべきではありません。
PHPフレームワークを使用してWebアプリケーションを構築する場合は、 Symfony2 がデフォルトでインストールされているため、チェックアウトする必要があります。 このウェブサイトにはSymfony2のインストールと使用に関するチュートリアルがいくつかあるので、先に進んでそれらをチェックすることもできます。
このチュートリアルでは、TwigをVPSにインストールして開始する方法を見ていきます。 このために、あなたがすでにあなた自身のクラウドサーバー、できればLinuxベースを実行していると仮定します。 このチュートリアルではデータベースは実際には使用されませんが、LAMPスタックはすでにインストールされています。 Twigを実行するにはPHP5.2.4以降が必要であり、Apache以外のWebサーバーでも問題ないはずです。
なぜ小枝?
または、なぜテンプレートエンジンがあるのですか? 非常に単純:関心の分離。 最初に、 twig という名前のプロジェクトフォルダーをWebサーバーのドキュメントルート(/ var / www )に作成してデモンストレーションしましょう。
cd /var/www mkdir twig cd twig
小さなアプリケーション用にいくつかのフォルダーを追加します。1つはphpファイル用で、もう1つはTwigテンプレートファイル用です(それぞれ)。
mkdir app mkdir views
app フォルダー内に、phpファイルを作成します。
nano app/app.php
その中に、 HelloWorldを出力するための次のコードをページに貼り付けましょう。
<?php echo "<h1>Hello world!</h1>" ?>
ファイルを保存し、ブラウザでこのファイルを指定します。 これに沿って進むと、 your-ip-address / twig / app /app.phpになります。 H1タグ内にステートメントが正しく印刷されているのがわかります。
では、このアプローチの何が問題になっていますか? このPHPファイルがはるかに複雑になると(そしてどのアプリケーションでもそうなるでしょう)、サイトのレイアウトの管理に大きな問題が発生します。 H1タグをPHPechoステートメントにハードコーディングしました。これは悪いことです。 デザイナーにそれを操作してもらいたい場合、このデザイナーはこのファイルを検索する必要があります。これは私たちが防止したいことです。 したがって、解決策は、プレゼンテーション(レイアウト)をロジック(プログラミング)から分離することであり、それを行うための最良の方法は、Twigなどのテンプレートエンジンを使用することです。 Twigをインストールした後、小さなアプリに戻ります。
インストール
Twigをインストールするための推奨される方法は、PHP依存関係管理ツールであるComposerを使用することです。 これが何であるかわからない場合は、別のチュートリアルがあり、詳細を確認できます。 しかし、心配しないでください。すぐにわかるように、大したことではありません。
Composerインストーラーをアプリケーションのルートフォルダー( twig )にダウンロードしましょう。
cd /var/www/twig curl -s http://getcomposer.org/installer | php
これにより、Composerの実行可能ファイルであるcomposer.pharという単一のファイルがダウンロードされます。 次に、そのすぐ隣にcomposer.jsonというファイルを作成します。
nano composer.json
そして、それに次の行を貼り付けます。
{ "require": { "twig/twig": "1.*" } }
これにより、アプリケーションはTwigテンプレートエンジンに依存するようになります。 次に、composerコマンドを使用して依存関係をインストールしましょう。
php composer.phar install
Twigファイルはvendor/Twigフォルダーにダウンロードされます。 他の依存関係を追加すると、それらもvendorフォルダーにインストールされます。
次に、それをアプリケーションに「接続」する必要があります。 Composerを使用したので、オートローダー機能を使用して、インストールしたすべての依存関係をロードできます。 それでは、app.phpファイルを開いてみましょう。
nano app/app.php
内部のすべてを削除し、この行を上部に追加します。
<?php require_once '../vendor/autoload.php'; ?>
この行で、Composerオートローダーをロードします。ComposerオートローダーはTwigをロードします。 Twigを別の方法でインストールした場合は、Twigオートローダーを直接要求する必要があります。
require_once '/path/to/lib/Twig/Autoloader.php'; Twig_Autoloader::register();
ただし、Composerでこれを行う必要はありません。 先ほど書いたrequireステートメントの下で、Twigテンプレートファイルを見つけて、ページに出力する変数を渡す必要があります。 次のコードを貼り付けます。
<?php $loader = new Twig_Loader_Filesystem('../views/'); ?> <?php $twig = new Twig_Environment($loader); ?> <?php echo $twig->render('page.html', array('text' => 'Hello world!')); ?>
これはここで何をしますか? まず、テンプレートファイルを含むフォルダー(以前に作成した views フォルダーで現在は空)へのパスを渡すローダーオブジェクトを作成します。 次に、構成を格納する環境オブジェクトを作成します。 そして最後に、最も興味深い部分は、環境オブジェクトのrenderメソッドが、最初の引数として渡されたテンプレートファイルをロードし、2番目の引数として渡された変数を使用してレンダリングします。 したがって、 page.html ファイルを作成する必要があります。その中に、出力するステートメントを含む変数を使用できます。 それでは、それを実行しましょう。
nano views/page.html
そして、中に、以下を貼り付けます:
<h1>{{ text }}</h1>
ファイルを保存してブラウザでapp.phpファイルをリロードすると、H1タグの間に同じテキストが印刷されます。 しかし今、私たちはこの別のファイルを再生して、好きなように表示することができます。 また、render関数を介して渡した変数を、二重中括弧の間に印刷できるようになりました。
したがって、このファイルを試して、自分で実験することができます。 複数の変数をテンプレートに渡したり、制御構造で使用したり、テンプレート関数を使用して処理したり、Twigフィルターを適用したりすることもできます。
結論
このチュートリアルでは、Composerを使用してTwigをインストールする方法と、個別のテンプレートファイルを使用してページに単純な変数を印刷する方法を説明しました。 次のチュートリアルでは、Twig構文を使用してテンプレートファイルを作成する方法についてもう少し詳しく説明します。