• 技术文章 >后端开发 >php教程

    ThinkPHP控制器间实现相互调用的方法

    不言不言2018-06-06 14:03:45原创2104
    这篇文章主要介绍了ThinkPHP控制器间实现相互调用的方法,主要通过A()方法实现这一功能,可以有效的提高代码的重复利用率,非常具有实用价值,需要的朋友可以参考下

    本文实例讲述了ThinkPHP控制器间实现相互调用的方法。分享给大家供大家参考。具体实现方法如下:

    ThinkPHP同一个项目里,两个控制器的方法如何相互调用呢?ThinkPHP提供了一个A(),通过它可以使控制器之间的方法相互调用,使得代码可以重复利用。

    官方似乎对A()方法没有相关使用文档,现在通过一个例子来说一下如使用A()方法。

    有两个控制器,ColumnsAction和NewsAction。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项目如何自定义微信分享描述内容

    以上就是ThinkPHP控制器间实现相互调用的方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:PHP将HTML页面静态化的处理方法 下一篇:php实现畅言留言板和网易跟帖样式
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• PHP实现LRU算法的示例代码• 怎样利用Dockerfile文件部署PHP项目• 什么是接口?如何在PHP中使用接口编写优雅的代码?• php7.2怎么连接oracle数据库?OCI8扩展的安装• php将csv文件导入到mysql数据库的方法,_PHP教程
    1/1

    PHP中文网