ホームページ >バックエンド開発 >PHPチュートリアル >thinkphp 変数のパブリック出力

thinkphp 変数のパブリック出力

WBOY
WBOYオリジナル
2016-12-01 01:27:351567ブラウズ

私自身で小さなプロジェクトを (thinkphp フレームワークを使用して) 実行しようとしましたが、テンプレートの割り当てに関して問題が発生しました。各テンプレートにはヘッダー がありますが、問題はありません。問題は、ヘッダー内に、それを参照する各テンプレートに出力する必要がある変数があります。この変数は、コントローラー内のメソッドによって生成されます:
public function header(){

リーリー

すべてのテンプレート コントローラーにこのメソッドを 1 回記述することは不可能です。もちろん、このメソッドをテンプレート コントローラーの親クラス コントローラーに配置することはできません。
ThinkControllerを使用する;

クラス IndexController は、Controller を拡張します

{

リーリー

}
上記の変数 {$lo_id} を各テンプレートに出力する方法は次のとおりです。

それとも、要件を明確に表現していなかったのでしょうか。つまり、各テンプレートは特定の変数を出力できます



返信内容:

私自身で小さなプロジェクトを (thinkphp フレームワークを使用して) 実行しようとしましたが、テンプレートの割り当てに関して問題が発生しました。各テンプレートにはヘッダー がありますが、問題はありません。問題は、ヘッダー内に、それを参照する各テンプレートに出力する必要がある変数があります。この変数は、コントローラー内のメソッドによって生成されます:

public function header(){

リーリー

すべてのテンプレート コントローラーにこのメソッドを 1 回記述することは不可能です。もちろん、このメソッドをテンプレート コントローラーの親クラス コントローラーに配置することはできません。
ThinkControllerを使用する;

クラス IndexController は、Controller を拡張します
{
リーリー

}

上記の変数 {$lo_id} を各テンプレートに出力する方法は次のとおりです。

それとも、要件を明確に表現していなかったのでしょうか。つまり、各テンプレートは特定の変数を出力できます


共通部分を親クラスに入れるとサブクラスが継承できるようになります

リーリー リーリー

1. すべてのページに $this->assign('data',$data); メソッドがあります。

この変数をアタッチするだけで、別のメソッドを記述する必要はありません

2. 基本クラスを記述します。コントローラーを継承し、このメソッドを実装すると、ページは基本クラスを継承するため、再度記述する必要はありません

(コード例はすでに 1 階に示されています)

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