スキップしてメイン コンテンツに移動

投稿

注目

CI4+Twig、楽勝のはずが500エラーで全部ハマった話(ss-twig編)

 はじめに CodeIgniter4 と Twig。 この組み合わせなら、ログイン画面くらいサクッと作れるはずだった。 「Twigでレイアウト組んで、view()で返すだけでしょ?」 そう思っていた時期が、私にもありました。 AIで雛形を作る(順調) AIにお願いして以下を一式生成: Controller Routes Twigテンプレート レイアウト 構成はこんな感じ: app/Views/auth/login.twig app/Views/layouts/auth.twig app/Controllers/Auth.php app/Config/Routes.php ここまでは順調。 むしろ「もう終わったのでは?」くらいの勢い。 /login にアクセス → 500エラー ブラウザで /login を開くと… Whoops! We seem to have hit a snag. はい、出ました500。 ログを見ると… Invalid file: "auth/login.php" …いやいや。 👉 Twigで書いてるのに、PHPビュー探してる? 状況整理 ここで冷静になる: Twigファイルはある ルートも正しい Controllerも呼ばれている なのに: 👉 view() が Twig を使っていない 原因その①:view()はTwigを知らない つまりこういうこと: Twig自体は使える でも view() は PHP専用 → PHPビューを探しに行く 対策:ss-twigを導入 使ったのはこれ: kenjis/codeigniter-ss-twig これでTwigが使えるようになる…はずだった。 原因その②:twig() 関数が無い ネットの情報だと: return twig('auth/login.twig'); と書けるはずが… 👉 twig() が存在しない 調べた結果 今回のバージョンでは: bootstrap.php → 無い twig() → 無い 👉 関数ではなくクラスで使う設計だった 対策:クラスで呼び出す use Kenjis\CI4Twig\Twig; $twig = new Twig(); return $twig->render('auth/login.twig...

最新の投稿

Laravelを追いかけて疲れたので、FuelPHPの源流に回帰してみる

未来でもないけど:COBOLと会計の重力──分業から統合へ、断層に立った人間の視点

Nextcloud (Webの上のNAS?)をLinuxに入れてみた

PHPはLaravelだけじゃない ― SQL派のためのCodeIgniter運用術

過去の苦労話・第18回:回収予算なんて入力してられるかw

思考実験で承認フローの要件定義してみた(お腹いっぱい編)

VBA化は延命? いや、前提を満たせば“意味がある”

未来じゃないけど:Excelの使いかた

過去の苦労話・第17回:全部持つな。違うとこだけ登録しろ

過去の苦労話・第16回:出荷データと請求データの“本来の姿”と、現場で起きたこと