Silex

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

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コンテナとして機能している。

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

 脚注・出典 

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