ホームページ  >  記事  >  PHPフレームワーク  >  ThinkPHP の空のオペレーションと空のコントローラー処理の紹介

ThinkPHP の空のオペレーションと空のコントローラー処理の紹介

藏色散人
藏色散人転載
2021-04-15 09:27:582118ブラウズ

次のチュートリアル コラムでは、ThinkPHP の空の操作と空のコントローラーの処理について紹介します。 ThinkPHP の空の操作、空のコントローラーの処理

1. ノーオペレーション処理

まずは効果を見てみましょう:
私の場合、IndexController.class.php ファイルに hello メソッドがありません。このメソッドにアクセスすると、次の情報が報告されます:

注: no-op の本質: オブジェクト (コントローラー) が存在しないメソッドを呼び出します


#ThinkPHP を理解している開発者向け 人間の観点から見ると、この Web サイトのバックエンドが ThinkPHP フレームワークを使用していることが簡単にわかります。では、これらの問題をブロックするにはどうすればよいでしょうか?今日はそれについて話します。

解決策 1、コントローラーに __call($method,$argvs) メソッドを追加します

ThinkPHP の空のオペレーションと空のコントローラー処理の紹介

##この方法で、再び hello メソッドにアクセスすると、デフォルトでコントローラーの __call($method,$args) メソッドが呼び出されます。 ######しかし!多くのコントローラーがある場合、コントローラーごとに __call($method,$args) メソッドを記述する必要がありますか?明らかに無理です!したがって、継承を通じてこのメソッドをコントローラーの親クラスに書き込む必要があります。 Controller.class.php にアクセスすると、__call() メソッドが見つかります。TP がすでにそれを実行しているためです。彼の考えでは、コントローラーに _empty() というメソッドを定義したかどうかによって決まります。定義されている場合は、このメソッドを呼び出します。ThinkPHP の空のオペレーションと空のコントローラー処理の紹介

共通コントローラーの親クラスの場所: ThinkPHP/Library/Think/Controller.class.phpThinkPHP の空のオペレーションと空のコントローラー処理の紹介

解決策 2

空のオペレーションの名前と同じ名前のテンプレートを作成すると、システムが自動的にそのテンプレートを呼び出します。

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

BeijingController.class.php ファイルがないため、エラーが報告されます。 !

TP フレームワークのソース コードを分析すると、次の解決策が得られます。

したがって、空のコントローラーを定義する必要があります。存在しないコントローラーにアクセスすると、指定したエラーに従ってエラーが報告されます。

ThinkPHP の空のオペレーションと空のコントローラー処理の紹介

#わかりました、空のオペレーションや空のコントローラーの話はやめましょう O(∩_∩)O~

ThinkPHP の空のオペレーションと空のコントローラー処理の紹介

##関連推奨事項:

最新の 10 件の thinkphp ビデオ チュートリアルThinkPHP の空のオペレーションと空のコントローラー処理の紹介

以上がThinkPHP の空のオペレーションと空のコントローラー処理の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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