なぜかPHPやってた
なんでかPHPをやってた。
モダンなPHP事情
<p>ようこそ<?php echo $name ?>さん!</p>
みたいなやつばっかり思い描いてしまうのですが、最近はそうでもないらしく、ルーティングライブラリを使ったりすると、よくあるpathに対してハンドラー関数があって〜みたいなこともできるようです。
ルーティングライブラリはこのへん。
個人的にはkleinがExpressとかと近い感じがしていいかなぁと思った。
テンプレートエンジンなんかも当然ライブラリがある。
最近の流行り?だとTwigとかいうものがあるらしい。
Home - Twig - The flexible, fast, and secure PHP template engine
オブジェクトをドットで辿るのがなんともPHPらしからぬ点をのぞいては概ね良さそう。
mod_rewriteをDockerで使う
↑のようなルーティングライブラリは、一度Webサーバーに来たリクエストを全て単一のPHPファイルに飛ばして使います。
そのため、Webサーバーの設定を変更してどのリクエストもエントリーポイントとなるPHPファイルにリクエストが行くようにしてあげる必要があります。
そのためには以下のような.htaccessを書いて置いてあげればよい。
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule .* index.php
と思ったら、RewriteEngineがねぇよと言われたので、調べたら以下のコマンドを実行して有効にしてあげる必要があるらしい。
a2enmod rewrit
これでApacheを再起動したらうまくいく。
ちなみに環境はphp:7.2.3-apache on Docker
なんだかSPAのルーティングみたいだなぁと思いました(こなみ
雑談
ぐりぐりハングリーに勝ちに行け!