【bob体育app】ThinkPHP控制器间实现相互调用的方法_php实例_脚本之家

2019-12-17 19:12栏目:编程
TAG:

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

bob体育app,这篇文章主要介绍了thinkphp模板自定义标签使用方法,需要的朋友可以参考下

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

使用模板标签可以让网站前台开发更加快速和简单,使用过dedecms、phpcms等内容管理系统的人应该都知道,cms的前台都是使用模板标签来调用数据。以调用文章列表为例:

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

dedecms可以写成:

有两个控制器,ColumnsAction和NewsAction。ncatlist()是ColumnsAction的分类列表方法,现在我要在控制器NewsAction中调用ncatlist()方法。

{dede:arclist row='10' orderby='id desc' titlelen=''}

复制代码 代码如下:class ColumnsAction extends Action{ public function ncatlist(){ $Columns=new Model; $News = M; $list=$Columns->query("SELECT concat AS bpath, colId,colPid,colPath, colTitle, description,ord FROM ".C."columns where typeid=1 ORDER BY bpath, colId"); $this->assign; } } class NewsAction extends CommonAction { // 首页 public function index() { $Columns=A; $Columns->ncatlist(); }

[field:title]

这样在模板中你就可以循环alist来获取分类列表了。

{/dede:arclist}

说明:上面的代码是WBlog3.0的代码版断,不过我查看了thinkphp3.1和thinkph3.12核心包还保留着A方法。

phpcms可以写成:

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《smarty模板入门基础教程》及《PHP模板技术总结》。

{pc:content action="hits" cat num="10" order="views DESC"}

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

{loop $data $r}

{$r[title]}

{/loop}

{/pc}

ThinkPHP的自定义标签同样能够实现这样强大的功能。ThinkPHP自定义标签通过TAG扩展库来实现。而ThinkPHP本身就自带了一个tag扩展库只要我们继承TagLib就能随心所遇的定义属于自己的标签。

命名规范:

TagLib+标签库名称.class.php

下面以实现调用导航为例加以说明

文件TagLibNav.class.php如下:

array('attr' => 'limit,order', 'level' => 3,'close'=>1), ); //定义查询数据库标签 //attr是属性列表,$content是存储标签之间的内容的 public function _nav($attr, $content) { $tag=$this->parseXmlAttr($attr,$content); $cate=M('Channel'); $tb=$cate->order($tag['order'])->limit($tag['limit'])->select(); $str=''; for($i=0;$i

HTML页面调用方式:

版权声明:本文由bob体育app发布于编程,转载请注明出处:【bob体育app】ThinkPHP控制器间实现相互调用的方法_php实例_脚本之家