Silex-Skeleton Github

SilexはシンプルなPHPフレームワークではありますが、あまりにもシンプルすぎるのである程度フレームワーク的なものが整ったものがほしいというところです。Githubにスケルトンがあるので、composerを使ってセットアップ出来ます。

composerからインストール

php composer.phar create-project fabpot/silex-skeleton /MY_INSTALL_PATH "~2.0"

/MY_INSTALL_PATHは空のディレクトリじゃないとダメです。
composerで落としてくるとざっくりですが、以下のようなものがインストールされます。

.gitignore
LICENSE
README.rst
bin
composer.json
composer.lock
config
phpunit.xml.dist
src
templates
tests
var
vendor
web

コントローラの雛形とかテンプレートとかキャッシュとかいろいろ最初から設定されているのでとてもいいです。

初期設定

.htaccessがないので自分で設定する必要あります。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?$1 [QSA,L]
</IfModule>

たぶんこれだけだとエラーが出る筈なので、var/cacheと/var/logsのパーミッションを777にしておきます。

chmod 777 var/cache
chmod 777 var/logs

エラーを明示的に表示したいときはindex.phpのエラー表示のパラメータを1にしておきます。

ini_set('display_errors', 1); //0を1にする

これで「Welcome to your new Silex Application!」が表示されれば準備完了です。

追加されている機能

ミニマムのsilexから追加されている機能は以下になります。
README.rstにも書いてますが。。

ValidatorServiceProvider - データ検証サービス。FormServiceProviderと共に使用可能。
ServiceControllerServiceProvider - Silexアプリケーションが大きくなるにつれ、より正式な方法でコントローラを編成することができます。 Silexはすぐにコントローラクラスを使用することができますが、少しの作業でコントローラをサービスとして作成することができ、依存性注入と遅延ロードの完全な機能を提供します。
TwigServiceProvider - Twigテンプレートエンジン。
WebProfilerServiceProvider - 開発中のSilexアプリケーションで、Symfony WebデバッグツールバーとSymfonyプロファイラを有効にします。
MonologServiceProvider - 開発環境でのロギングを有効にします。

https://github.com/silexphp/Silex-Skeleton

Last update: 2017.01.10 (火)