ホームページ >バックエンド開発 >PHPチュートリアル >ファイルを動的にインクルードする ThinkPHP の方法、_PHP チュートリアル

ファイルを動的にインクルードする ThinkPHP の方法、_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:12:48786ブラウズ

ファイルを動的にインクルードする ThinkPHP の方法

この記事の例では、ThinkPHP にファイルを動的に組み込む方法について説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです:

問題の説明: プロジェクトの作業中に問題が発生することもよくあります。通常、ホームページには管理を容易にするために、これらをインクルード ファイルを使用して実装する必要があります。上記はインクルードを操作する最も簡単な方法ですが、実行プロセス中に、リクエスト時にテンプレート ファイルのみがリクエストされることがわかりました。これはいわゆる静的インクルージョンですが、メニューが動的に生成される場合は、これが行われます。扱いが難しいです。

オンラインで解決策を見つける: ウィジェットを使用する

1. ページに分類された表示ウィジェットを実装します。まず、次のようにウィジェット コントローラー レイヤー CateWidget を定義する必要があります。


コードをコピーします コードは次のとおりです:class CateWidget extends Action {
パブリック関数メニュー(){
'menuWidget' を返します
; }
}

一般的なアクションとは異なり、ウィジェットパッケージ内で定義されていることに注意してください

2. 次に、テンプレート内の R メソッドを通じてこの Widget を呼び出します (拡張された Widget メソッドはテンプレート内の W メソッドを使用します)。R 関数について知らない場合は、こちらを参照してください。 www.thinkphp.cn/info/134.html)

{:R('カテゴリー/メニュー','','ウィジェット')}

実行後の出力は次のとおりです: menuWidget

3. CateWidget クラスのメニューメソッドが次のように変更された場合:


コードをコピーします

コードは次のとおりです:class CateWidget extends Action { パブリック関数メニュー(){
「メニューウィジェット」をエコーし​​ます
; }
}

4. テンプレート内の使用法を次のように変更する必要があります:


コードをコピーします
コードは次のとおりです:{~R('Cate/Menu','','Widget')}
5. ウィジェットを呼び出すときにパラメーターを使用する必要がある場合は、次のように定義できます。

コードをコピーします

コードは次のとおりです:class CateWidget extends Action { 公開関数メニュー($id,$name){ エコー $id.':'.$name
; }
}

6. テンプレート内のパラメータを呼び出すには、次を使用します:


コードをコピーします
コードは次のとおりです:{:R('Cate/Menu',array(5,'thinkphp'),'Widget')}
5:thinkphpを出力します
7. より複雑な例を見てみましょう:

コードをコピーします

コードは次のとおりです:class CateWidget extends Action { パブリック関数メニュー(){ $menu = M('Cate')->getField('id,title'); $this->assign('menu',$menu); $this->display('Cate:menu');
}
}

8. CateWiget クラスは、テンプレート ファイル Tpl/Cate/menu.html をレンダリングします。テンプレートの呼び出しの柔軟性も、このメソッドを使用してウィジェットを実装する場合の違いです (ウィジェット拡張メソッドでは、レンダリングするために renderFile メソッドを呼び出す必要があります)。テンプレート)。

menu.html テンプレート ファイルでの使用: {$key}:{$title}

この記事で説明した内容が、皆様の ThinkPHP フレームワーク プログラミングに役立つことを願っています。

http://www.bkjia.com/PHPjc/919615.html

www.bkjia.com

本当

技術記事 ThinkPHP によるファイルの動的インクルード方法 この記事では、ThinkPHP によるファイルを動的にインクルードする方法の例について説明します。参考のためにみんなで共有してください。具体的な分析は次のとおりです: 問題の説明: Doing...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。