ホームページ  >  記事  >  バックエンド開発  >  ThinkPHP フレームワークで null 操作と null コントローラーを処理する方法

ThinkPHP フレームワークで null 操作と null コントローラーを処理する方法

little bottle
little bottle転載
2019-04-25 13:44:213593ブラウズ

この記事では、エディターが ThinkPHP フレームワークで空のオペレーションと空のコントローラーを処理する方法を説明します。いわゆる空のオペレーションと空のコントローラーとは、要するに、メソッドまたはコントローラーが ThinkPHP フレームワークに存在しないことを意味します。システムにエラーが報告されました。興味のあるお友達はぜひ一緒に探してみてください。

正しい URL (テスト環境): http://oa.com/index.php/admin/public/login 次のようにアクセスします:

1: オペレーション処理なし

メソッドがloginwに変更されると、次のようにエラーが報告されます:

システムには、デフォルトで次のようなエラー報告メカニズムが組み込まれています。 1. ユーザー エクスペリエンスの低下 2. 重大なセキュリティ リスク。

親クラス コントローラー ファイル Controller.class.php を確認し、次のコードを見つけます。

これは、呼び出されたメソッドがただし、_empty()メソッドが定義されている場合は、_empty()が実行されるか、呼び出されたメソッドと同名のテンプレートファイルが表示されます。すべての未知のメソッドに対してテンプレートを作成することは不可能なので、ここでは _empty() メソッドを使用して空の操作を処理します。コントローラー Public で _empty() メソッドを次のように定義します。

実行結果:

を渡すことができます。ページをより美しくするために _empty() メソッドにテンプレート ファイルを導入していますが、これは単なるテストです。ただし、コントローラーがたくさんある場合、コントローラーごとに _empty() を定義するのは合理的ではありませんが、このときは、親クラスの Controller.class.php で定義し、サブクラスで次のように使用できます。

##ただし、通常、親クラスのController.class.phpのコードは変更されず、子クラスと親クラスの間に追加できます。コントローラーが実装されています (詳細については次の記事を参照してください)。

#2. 空のコントローラーの処理

コントローラー名を Publicu に変更すると、エラーは次のようになります:

App.class.php を表示すると、次のコードが見つかります:

これで、別の EmptyController.class.php コントローラーを作成できますアクセスされたコントローラーが存在しない場合にこのコントローラーにアクセスするための _empty() メソッドを組み込みます。

次のようにページに再度アクセスします:

関連チュートリアル:

PHP ビデオ チュートリアル

以上がThinkPHP フレームワークで null 操作と null コントローラーを処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。