エントリー

Silex導入メモ

Silexを試してみたので導入メモ。

Silexとは

PHP5.3以降で利用できる、ライトウェイトなフレームワーク。Symfony2のクラスを利用しているらしい。Symfony2では大げさすぎる場合に使えるみたい。

利用方法

公式サイトから silex.phar をダウンロードしてrequireするだけで使える。現在はphar形式にはなっていない。

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

ページ移動

ユーティリティ

カテゴリー

検索

エントリー検索フォーム
キーワード

過去ログ

過去ログ表示フォーム
キーワード

Feed