Silex

SilexはSymfonyコンポーネントを元に実装された、PHP言語でWebアプリケーションを開発するためのマイクロフレームワークである。Symfony の成果物であるHttpKernel等の各種パッケージ、依存性注入を行うためのシンプルなDIコンテナ pimple 等で構成されている。また、Ruby向けマイクロフレームワークである sinatra の影響も受けている。

2018年6月に開発の継続およびサポートが終了した。

特徴 
Silexは標準でデータベースアクセス接続 Doctrine DBAL の為の、DoctrineServiceProvider 、Twigテンプレートエンジンを利用するための TwigServiceProvider 、PSR-3に準拠したログ出力機構 monolog を利用するための MonologServiceProvider など、フレームワークとしての各種機能をサービスプロバイダという形で提供している。これらを実際に利用する際は、必要な機能について Composer によるパッケージ依存解決を行い、Composerが必要となるパッケージのインストール、オートローディングを行う。

実行例 
以下にアプリケーションのルートへアクセスした際に「Hello World!」という文字列を表示する例を掲載する。

require_once  . '/../vendor/autoload.php';

$app = new Silex\Application();

$app->get('/', function() use($app) {
    return 'Hello World!';
});

$app->run();

この例で登場する $app 内に収められたオブジェクトがDIコンテナとして機能している。

関連項目 
 Symfony
 EC-Cube バージョン3.0よりSilexを内部実装に用いている。

脚注・出典 

PHP
ウェブアプリケーションフレームワーク