先日、サイト構築を頼まれて製作してたものがオープンしました。
作業担当としては・・・・
* サイトレイアウト素案構築
* システム設計・実装
* HTML/CSSコーディング
* UI部分設計・実装
と、デザイン以外は担当した感じです。
今回のサイトに関してはCMS導入も考えたんですがDBが使えないという問題があり、
結果的にPHPマイクロフレームワークで最近少し名前が出てきた「Silex」を使って作りました。
今回はこのフレームワークなどを使ってみた感想をつらつらと書いておこうかと思います。
今回制作したサイトは以下となります。
で、実際に利用したOSS系のものは以下のとおり。
とりあえず、一人で作ってたんであんまり規約も要らないしさらにページ数もやたら少ない。
DB無くても動く、簡単フレームワークということでSymfony勉強会で教えてもらったSilexに白羽の矢が立ちました。
実際にSilexを使ってみた感想とハマったところ列挙していきます。
Contents(目次)
場所を選ばない設置スピードの速さは素晴らしい!
silexはpharファイルによる管理なので、設置してrequire_onceしてしまえば終わり!
というストレスフリーな感じがたまらなくいいです。
require_once __DIR__.'/silex.phar';
$app = new Silex\Application();
// TODO コントローラーの処理内容を定義する
$app->run();
また、Routing部分に関してもきちっとできてるのでRedirectとかも簡単に書けます。
//Ex: "/works/" にアクセスしたら"/works/2011/" をdefault表示にする
$app->get('/works/',function() use ($app){
return $app->redirect('/works/2011/');
});
//Ex2: "/works_detail/{id}" 可変の$IDを受け取って処理をする
$app->get('/works_detail/{id}/', function($id) use($app){
// ここに処理を記述...
})->assert('id','[^\/]*');
PHPファイルも分離できるので、私は大きめのページグループに区切ってファイルを分けています。
日本語ドキュメントがあるのが助かる!
いやまぁ英語読めろよと言われたらアレです、ごめんなさい。
でも、これだけしっかりとした日本語ドキュメントがあると助かります。
Symfony勉強会でSilexのことを発表してた@brtriverさんが管理しています。
- Silex ユーザーガイド
.htaccessの設定にやたらハマった
はい、Apache周り弱いんですごめんなさいごめんなさい・・・。
ちゃんと設定しても動かないことがありまして、これは何だったんだろう・・・。
あ、ユーザーガイドに書いてある.htaccess設定でちゃんと動きます。
- 使用方法 | Silex ユーザーガイド
バージョンアップしたら動作が変わった
不用意にSilex本体のバージョンアップを開発佳境に入ったところで行なったら
SilexのExtension部分が若干変わってエラーした為、動作しなくなり焦りました。
TwigExtensionを使っていたんですが、最新のSilexではこう書くことで使えるようになります。
$app->register(new Silex\Provider\TwigServiceProvider(), array(
'twig.path' => __DIR__.'/views',
'twig.class_path' => __DIR__.'/vendor/twig/lib',
));
とりあえず、小規模サイトやなんか簡単なAPIサーバーなどを作るなら
このぐらいのフレームワークが便利じゃないですかねー。
小規模サイトは作ること割とあるので、これからも使うことありそうです。
みんなもSilex使ってみるといいんじゃないかな!
コメントを残す