字体-字体+

thinkphp5学习之路【四】自定义类及其正确引用

2016-12-05 TP5专栏 访问量 284

thinkphp中提供了大量的类供我们调用,但有时候我们也需要自己定义类来满足开发的需求。从php5.3开始,引入了命名空间的概念,使得我们调用类非常的方便。

比如我们书写一个类,专门供后台使用的话,我们可以在后台模块中新建一个文件夹,比如classes。

这里以递归无限级分类作为演示:

<?php 
namespace app\manage\classes;//注意tp是以app开始的
class Tree{
    //定义一个空的数组
    static public $treeList = array();
    //接收$data二维数组,$pid默认为0,$level级别默认为1
    static public function tree($data,$pid=0,$level = 1){
        foreach($data as $v){
            if($v['pid']==$pid){
                $v['level']=$level;
                self::$treeList[]=$v;//将结果装到$treeList中
                self::tree($data,$v['id'],$level+1);
            }
        }
        return self::$treeList;
    }
}

使用它也非常地方便。

比如在某个控制器中在头部:

use app\manage\classes\Tree;

//调用
$this->view->categorylist=Tree::tree($categorylist);//这里设置的是静态方法

使用方式和3.2版本没有太大的区别。

标签:

原文来自:http://www.dawnfly.cn/article-1-316.html,转载请注明出处,谢谢【破晓博客复制链接地址