ホームページ >バックエンド開発 >PHPチュートリアル >ThinkPHP3.2 がコントローラーをロードできないのはなぜですか?
ThinkPHP3.2 がコントローラーをロードできない理由は次のとおりです。 1. コントローラーの定義時に名前空間が使用されています。 2. コントローラーの定義が正しくありません。たとえば、クラス名のスペルが間違っています。アクセスを禁止するように設定されているか、アクセス許可リストに設定されていません。
ThinkPHP3.2 がコントローラーをロードできない主な理由と解決策
1. APP_USE_NAMESPACE (名前空間を使用するかどうか):
false に設定すると、コントローラーの定義時に名前空間が使用される場合、コントローラーは読み込まれません。この場合、パラメーターを true に設定するだけです。 。 ThinkPHP/Common/Conf/convention.php で設定できます。
2. ACTION_BIND_CLASS (メソッドとクラスをバインドするかどうか):
false に設定すると、コントローラー フォルダーの構造はコントローラー/ビュー名 Controller.class になります。 .php では、メソッドはクラス内に 1 つずつ記述されますが、true に設定すると、Controller フォルダーの構造は、Controller/ビュー名/method.class.php となり、1 つのクラスが 1 つのメソッドに対応します。
3. MODULE_ALLOW_LIST (モジュールへのアクセスを許可) および MODULE_DENY_LIST (モジュールへのアクセスを拒否):
モジュールがアクセスを禁止するように設定されている場合、またはモジュールが設定されていない場合許可されたアクセス リスト。このモジュールの下にあるすべてのページは正常にアクセスできません。
4. URL_MODEL (URL アクセスモード):
0 以外の場合、U メソッドを使用してモジュール配下の他のコントローラーのメソッドを呼び出す場合、モジュールを定義するには BIND_MODULE 定義を渡す必要があります。そうしないと、現在のモジュールを認識できません。
5. コントローラーの定義が間違っています:
名前空間はコントローラーの最初の非コメント行で定義する必要があり、名前空間のスペルに注意してください。コントローラーを定義するときのクラス名、および extends コントローラーが存在するかどうか、この小さな問題が原因でコントローラーにアクセスできないことがよくあります。
6. BIND_MODULE (バインディング モジュール):
モジュールがエントリ ファイルにバインドされている場合、そのモジュールをパスに含めることはできません。それ以外の場合は、コントローラーをバインドすることはできません。アクセスしました。
関連知識の詳細については、PHP 中国語 Web サイト をご覧ください。 !