Silex導入メモ
Silexを試してみたので導入メモ。
Silexとは
PHP5.3以降で利用できる、ライトウェイトなフレームワーク。Symfony2のクラスを利用しているらしい。Symfony2では大げさすぎる場合に使えるみたい。
利用方法
公式サイトから 現在はphar形式にはなっていない。silex.phar
をダウンロードしてrequireするだけで使える。
pharとは
「PHp ARchive」の略で、複数のファイルをまとめたもの。
動かない
ロリポップサーバーで Class 'Silex\Application' not found
とか表示された。どうやら、環境によってはpharファイルの利用は問題があるらしい。pharをバラせば普通のPHPファイルになるので、それを使えばいい。
pharコマンドを使える環境でroot権限で、silex.phar
に対して以下を実行。(rootでないと「ライセンスエラー」とか表示された。)
$ phar extract -f silex.phar
作成されたファイルを、まるごと silex
フォルダに突っ込む。そして silex.phar
の読み込み処理を
//require_once __DIR__ . '/silex.phar';
require_once __DIR__ . '/silex/vendor/autoload.php';
のようにするとSilexを使える。
ディレクトリ構成
参考に、ディレクトリ構成とプログラムの内容全文。
test
ディレクトリ内で動作させるとする- Silexは
test/silex/
に配置するとする - 本番環境では
test/silex/
にアクセス制限をかけたり、公開ディレクトリ外に設置するとよさそう - LICENSEファイルや説明書ファイルなどは、動作には不要(自分でどのファイルか判りやすいように書いているだけ)
test / index.php
|
+-- silex / LICENSE
|
+-- src / ~略~
|
+-- vendor / ~略~
test/index.php
の内容は以下のとおり。
<?php
require_once __DIR__ . '/silex/vendor/autoload.php';
$app = new Silex\Application();
$app['debug'] = true;
$app->get('/', function() use($app) {
return 'index';
});
$app->run();
exit;
?>
ブラウザソフトから index.php
にアクセスして、index
と表示されれば成功。
各機能の使用方法はSilexでセッションとデータベースとテンプレートを使うメモに記載。