ホームページ > 記事 > PHPフレームワーク > thinkphp がコントローラーをロードできない場合はどうすればよいですか?
#ThinkPHP3.2 がコントローラーをロードできない場合はどうすればよいですか?
ThinkPHP3.1.3 から ThinkPHP3.2.3 にアップグレードする際、View、Mode、Controller を指定のディレクトリに配置しても、コントローラーが読み込めないという問題が発生しました。研究の結果、主な原因はいくつかあることが判明しました。 (1) APP_USE_NAMESPACE (名前空間を使用するかどうか): false に設定すると、コントローラーを定義するときに名前空間を使用すると、コントローラーは読み込まれなくなります。この場合は、パラメーターを true に設定します。 。 ThinkPHP/Common/Conf/convention.php で設定できます。 関連する推奨事項: "ThinkPHP チュートリアル "
(2) ACTION_BIND_CLASS (メソッドとクラスをバインドするかどうか): false に設定すると、Controller フォルダーの構造が次のようになります。 Controller/Viewの名前はController.class.phpで、メソッドはクラス内に一つずつ記述されていますが、trueに設定した場合、Controllerフォルダの構造はController/View名/method.class.phpとなるはずです。 1 つのクラスが 1 つのメソッドに対応します。 (3) MODULE_ALLOW_LIST (モジュールへのアクセスを許可) および MODULE_DENY_LIST (モジュールへのアクセスを拒否): モジュールがアクセス禁止に設定されている場合、または許可されたアクセス リストに設定されていない場合、モジュール配下のすべてのページ正常にアクセスできません。 (4) URL_MODEL (URL アクセス モード): 0 以外の場合、U メソッドを使用してモジュール配下の他のコントローラのメソッドを呼び出す場合は、BIND_MODULE を定義してモジュールを定義する必要があります。それ以外の場合は、BIND_MODULE を定義してモジュールを定義する必要があります。現在のモジュールを認識できません。 (5) コントローラーの定義が間違っています。名前空間はコントローラーの最初の非コメント行で定義する必要があります。コントローラーを定義するときは、クラス名のスペルと、クラス名のスペルに注意してください。 extends コントローラーが存在します。多くの場合、この小さな問題によりコントローラーにアクセスできなくなることが原因でした。 (6) BIND_MODULE (バインド モジュール): モジュールがエントリ ファイルにバインドされている場合、モジュールをパスに含めることはできません。そうでない場合は、コントローラーにアクセスできません。以上がthinkphp がコントローラーをロードできない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。