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

藏色散人
リリース: 2021-04-18 12:58:17
転載
2016 人が閲覧しました

次のチュートリアル コラムでは、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 までご連絡ください。
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!