ホームページ  >  記事  >  PHPフレームワーク  >  thinkphp がコントローラーをロードできない場合はどうすればよいですか?

thinkphp がコントローラーをロードできない場合はどうすればよいですか?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼オリジナル
2019-08-22 14:38:275426ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。