これは……重量級かも。
URIが個々に違うので、頑張れるところまで。
Trailing / in route patterns
https://www.slimframework.com/docs/v3/cookbook/route-patterns.html
「スリムは、末尾にスラッシュが付いたURLパターンを、スラッシュなしのものとは異なるものとして扱います。つまり、/ userと/ user /は異なるため、異なるコールバックを添付することができます。(機械翻訳)」うん普通だ。ありがち。
「/で終わるすべてのURLを非トレーディング/同等のものにリダイレクト/リライトする場合は、次のミドルウェアを追加できます。」あら便利。これ、普通につけておいてもよくないかしらん?? いやまぁ「邪魔くさい重い」かもしれないんだけど。
Retrieving IP address
https://www.slimframework.com/docs/v3/cookbook/ip-address.html
あぁ、うんまぁこれは「時々欲しい」やつだ。
「クライアントの現在のIPアドレスを取得する最善の方法は、rka-ip-address-middlewareなどのコンポーネントを使用するミドルウェア経由です。(機械翻訳)」ふむぅ。
「ミドルウェアはクライアントのIPアドレスをリクエスト属性に格納するため、$ request-> getAttribute( 'ip_address')を介してアクセスします。機械翻訳)」だよねぇ。だとしたら「これでよい」気もするんだが。
………あぁrka-ip-address-middlewareのコード読んでわかった。
X-Forwarded-Forとか、その辺のheaderに対応しているのか。ふむ、これはコードもシンプルだし、便利やもしれぬ。
Retrieving Current Route
https://www.slimframework.com/docs/v3/cookbook/retrieving-current-route.html
あぁ「現在のルーティングの情報を得る」か。
Middlewareにして「ログに吐き出す」とかやるような感じの時に、便利かも。……それ以外の用途はあんまり思い浮かばないんだけど(苦笑
……って思ったら、今作ってる「SlimLittleTools」で、使った(笑
Using Eloquent with Slim
https://www.slimframework.com/docs/v3/cookbook/database-eloquent.html
Eloquentはなんていうか「色々と懲りた」ので、いらんなぁ(苦笑
なので、略(笑
Using Doctrine with Slim
https://www.slimframework.com/docs/v3/cookbook/database-doctrine.html
こっちも割とパス(笑
まぁ「お好む人もいる」とは思うので、こーゆー情報があるのはよいと思う。
Setting up CORS
https://www.slimframework.com/docs/v3/cookbook/enable-cors.html
Cross origin resource sharing、ですか。
サンプルのコード、どっちかってぇと「CORSに限らず、追加ヘッダ入れたい時」用に使えるんだよねぇ。
これも今作成している「SlimLittleTools」で、近いコードが入ってます(笑
Access-Control-Allow-Methods
ん? なんでこのファイルにこれがあるんだろ???
………あぁそうか全体的に「response headerの追加」なんだな。
Getting and Mocking the Environment
https://www.slimframework.com/docs/v3/cookbook/environment.html
UnitTestでがっつりとお世話になるネタだねぇ、的な。
細かく書くと「先に $container->get('request') とかやった後に Mock Environmentsとか設定すると色々と齟齬る」感じではあるのですが、まぁそーゆー状況は「よっぽど狙って意図しないと」起きないと思われるので、気にせずに。
Uploading files using POST forms
https://www.slimframework.com/docs/v3/cookbook/uploading-files.html
あぁ、すっ飛ばしたネタだ(笑
大まかには
use Slim\Http\UploadedFile; $uploadedFiles = $request->getUploadedFiles();
があって。まぁ比較的多い「1ファイルアップ」なら
// handle single input with single file upload $uploadedFile = $uploadedFiles['example1']; if ($uploadedFile->getError() === UPLOAD_ERR_OK) { $uploadedFile->moveTo(移動先のファイル名); $response->write('uploaded ' . $filename . '<br/>'); }
ってな感じで「ファイルの確認してファイル適当に移動させて」って処理すればOK。
あんまりない「複数ファイル」なら
foreach ($uploadedFiles['example2'] as $uploadedFile) { if ($uploadedFile->getError() === UPLOAD_ERR_OK) { $uploadedFile->moveTo(移動先のファイル名); $response->write('uploaded ' . $filename . '<br/>'); } }
とあるので、ようは「$uploadedFiles['example2'] が配列になっているよ」程度。
むしろ
<input type="file" name="example3[]" multiple="multiple"/>
HTMLのこの書式、知らなかったよ(笑
Action-Domain-Responder with Slim
https://www.slimframework.com/docs/v3/cookbook/action-domain-responder.html
ふむぅ。
これはまずAction-Domain-Responderパターン(ADR)を把握しないと、そこから先に進めない感じだなぁ。
で………なんか、ピンとこない(苦笑
ので。ちょいと単語だけ心に留め置くとして、一旦、すっ飛ばしませう。
……あ。割とあっさりと終わった(笑