Slim3のものです。 とりあえずリンク集がメインになっています。
リンク
- Slim Framework - 公式
- PHPでちょっとしたものを作るときに便利な軽量フレームワークと軽量ORM - 書き置き。 - Slimと、組み合わせて使える軽量ORMのIdiormについての紹介
- 私家版 Slim Framework チュートリアル
- nunulkさんのSlim Framework 3入門
- (1) 特徴と準備編
- (2) ルーティングと新規作成編
- (3) 表示編
- (4) 編集と削除、ついでにパーシャルビュー編
- (5) Controllerクラス編
- (6) テスト編
composerでSlim3をインストールする
composer でインストールすると最新版がインストールされる。 Slim3 を指定してインストールするには次のようにする。
スケルトンを作成する場合
$ composer create-project slim/slim-skeleton=~3 {TARGET-DIR}
スケルトンを作成しない場合
$ cd {TARGET-DIR} $ composer require slim/slim:3.*
ルートとコンテナ
ルートは src/routes.php に書く。
src/routes.php
<?php $app->get('/books', function (Request $request, Response $response) { ... } );
この function の内容をコントローラに移動することができ、その場合は次のように呼び出す。
<?php $app->get('/books', BooksController::class . ':index');
この形式で書くとコントローラのコンストラクタにコンテナが渡される。
※コンテナは DB やログなどへの参照が含まれているオブジェクト。
<?php namespace Controllers; use Slim\Http\Request; use Slim\Http\Response; class BooksController extends Controller { public function __construct(ContainerInterface $container) { } public function index(Request $request, Response $response) { } }
PHPUnitのsetUpでエラーが出る時は後ろに型指定のvoidを付ける
PHP Fatal error: Declaration of FooTest::setUp() must be compatible with PHPUnit\Framework\TestCase::setUp(): void in ...
のようなエラーが出る時はsetUp
を次のように宣言すれば解消される。
<?php protected function setUp(): void { ... }