ThinkPHP コントローラー間で相互に呼び出しを行う方法

不言
リリース: 2023-03-30 07:06:02
オリジナル
3234 人が閲覧しました

この記事では主に ThinkPHP コントローラー間の相互呼び出しの方法を紹介します。この関数は主に A() メソッドを通じて実装されており、コードの再利用率を効果的に向上させることができます。必要な方は参考にしてください。

この記事の例では、ThinkPHP コントローラー間での相互呼び出しの方法を説明します。参考のためにみんなで共有してください。具体的な実装方法は以下の通りです:

同じ ThinkPHP プロジェクト内で、2 つのコントローラーのメソッドはどのように相互に呼び出しますか? ThinkPHP は、コードを再利用できるように、コントローラー間のメソッドが相互に呼び出すことができる A() を提供します。

A() メソッドの使用に関する公式ドキュメントはないようです。次に、例を使用して A() メソッドの使用方法を説明しましょう。

ColumnsAction と NewsAction という 2 つのコントローラーがあります。 ncatlist() は ColumnsAction のカテゴリ リスト メソッドです。今度は、コントローラー NewsAction で ncatlist() メソッドを呼び出します。

コードは次のとおりです:

コードをコピーしますコードは次のとおりです:

class ColumnsAction extends Action{   
public function ncatlist(){  
    $Columns=new Model;  
                     
    $News = M("News");  
    $list=$Columns->query("SELECT concat(colPath,'-',colId) AS bpath, colId,colPid,colPath, colTitle, description,ord FROM ".C('DB_PREFIX')."columns where typeid=1   
      
ORDER BY bpath, colId");  
                                  
       $this->assign('alist',$list);       
      }  
}  
class NewsAction extends CommonAction {  
      
    // 首页  
    public function index() {  
   $Columns=A("Columns");  
   $Columns->ncatlist();  
}
ログイン後にコピー

このようにして、テンプレート内の alist をループしてカテゴリのリストを取得できます。

注: 上記のコードは WBlog3.0 (thinkphp3.0 のコア パッケージを使用) のコードの一部ですが、thinkphp3.1 および thinkph3.12 のコア パッケージがまだメソッド A を保持していることを確認しました。

関連する推奨事項:

thinkphp3.2 は、コントローラー間で他のモジュールを呼び出すメソッドを実装します

thinkphp プロジェクトの WeChat 共有記述内容をカスタマイズする方法

以上がThinkPHP コントローラー間で相互に呼び出しを行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート