====== Slim Framework ====== --- //[[http://www.y2sunlight.com|y2sunlight]] 2020-09-23// Slimは、WebアプリケーションまたはAPIをすばやく作成できるPHPのマイクロフレームワークです。 通常のマイクロフレームワークは、HTTPリクエストの受信とHTTPレスポンスの送信、ルーティングとコントローラーのディスパッチなどのWebアプリケーションの基本的な機能のみを有し、一般的なフレームワークで期待されている認証、データベースの抽象化、バリデーション、HTMLテンプレートなどの機能を有していません。このように、マイクロフレームワークは、WebサービスまたはWebアプリケーションのAPIを構築するために特別に設計されています。 Slimは、CakePHPやLaravelのようなフルスタックフレームワークではありません。対象となるプロジェクトが、WebサービスやAPIなどのようにそれほど複雑でなく、アクセス数が比較的多い場合には、Slimなどのマイクロフレームワークが適しています。プロジェクトの特性に応じて、フルスタックフレームワークとマイクロフレームワークを使い分けることがアプリケーションの効率性及び保守性を向上させることに繋がります。 Slimは、2010年以来PHPのマイクロフレームワークとして、数度にわたり大きな変遷を遂げ、2015年にSlim3が、2019年にはSlim4がリリースされています。Slimはセマンティックバージョニングを採用しているので、メジャーアップデートが行われる際(バージョン番号の数字が大きくなる時)、後方互換のない破壊的変更が行われているのです。これは、今も尚、活発な活動が行われていることを意味し、注目すべきフレームワークである一つの要因になっていると思います。 Slimには以下の特徴があります。 * 高速で強力な''HTTPルーター'' * ''ミドルウェア''によるのリクエストとレスポンスの調整 * [[https://php-di.org/|PHP-DI]]のような[[https://www.php-fig.org/psr/psr-11/|PSR-11]]を実装する''DIコンテナー''のサポート * [[https://www.php-fig.org/psr/psr-7/|PSR-7]] HTTP message interfaces のサポート リンク * http://www.slimframework.com/ --- Slimの本家 * https://github.com/slimphp/Slim --- GitHub (Framework) * https://github.com/slimphp/Slim-Skeleton --- GitHub (Skeleton) \\ ===== 目次 ===== === Slim4 === * [[slim:4:install|Slim4 インストール]] * [[slim:4:concepts|Slim4 コンセプト]] * [[slim:4:request|Slim4 リクエスト]] * [[slim:4:response|Slim4 レスポンス]] * [[slim:4:routing|Slim4 ルーティング]] * [[slim:4:middleware|Slim4 ミドルウェア]] * [[slim:4:cookbook|Slim4 クックブック]] \\