Silex

SilexはSymfonyコンポーネントを元に実装された、PHP言語でWebアプリケーションを開発するためのマイクロフレームワークである。Symfony の成果物であるHttpKernel等の各種パッケージ、依存性注入を行うためのシンプルなDIコンテナ pimple 等で構成されている。また、Ruby言語向けマイクロフレームワークである sinatra の影響も受けている。ライセンスはMITライセンス。
2018年6月に開発の継続およびサポートが終了した。
特徴.
Silexは標準でデータベースアクセス接続 Doctrine DBAL の為の、DoctrineServiceProvider 、Twigテンプレートエンジンを利用するための TwigServiceProvider 、PSR-3に準拠したログ出力機構 monolog を利用するための MonologServiceProvider など、フレームワークとしての各種機能をサービスプロバイダという形で提供している。これらを実際に利用する際は、必要な機能について Composer によるパッケージ依存解決を行い、Composerが必要となるパッケージのインストール、オートローディングを行う。
実行例.
以下にアプリケーションのルートへアクセスした際に「Hello World!」という文字列を表示する例を掲載する。
require_once __DIR__ . '/../vendor/autoload.php';
$app = new Silex\Application();
$app->get('/', function() use($app) {
 return 'Hello World!';
$app->run();
この例で登場する $app 内に収められたオブジェクトがDIコンテナとして機能している。