Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
4
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

@tao_s

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

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がテーブル名が複数系になってるかどうかのチェックしてた悪夢を思い出しますわ。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
4
Help us understand the problem. What are the problem?