この記事では主に 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 サイトの他の関連記事を参照してください。