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でセッションとデータベースとテンプレートを使うメモに記載。