LoginSignup
4
4

More than 5 years have passed since last update.

concrete5にPSR-4 autoloader形式でコード追加した時に、追加したclassが見つかりませんエラーで毎度ハマるのでメモ

Posted at

Fatal error: Class 'Application\Controllers\xxx' not found

オートローダーがロードしてくんねーよー!!

これ、ちょいちょいハマります。

複数形と単数系のワナ

concrete5の5.7系では、コントローラのディレクトリはこうなってます。

application
-controllers
--controller.php

で、ネームスペースは

Application\Controller\Controller

なんですね。
ポイントというか罠はココ
/controllers に対して\Controller
ディレクトリ名は複数形に対して、namespaceは単数系。
英語じゃコレが普通なんですかね?

ディレクトリ名が複数形だから〜って複数形でnamespace書くとnot foundになりケアレスミス探しのあり地獄に落ちます。
コードを一晩寝かせるパターンですね。

cakePHPがテーブル名が複数系になってるかどうかのチェックしてた悪夢を思い出しますわ。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4