因为之前写项目都是用的Thinkphp,公共方法都写在Tp自带的common下面的function里面,初次接触Yii框架发现它自身没带这个机制。在项目中,很多地方都需要公共方法的存在,以提高代码复用性,减少重复开发的时间,那yii2如何定义自己的公共方法呢?
以yii2-advanced版本为基础来进行介绍:
上图为yii2-advanced版本的基础目录结构,而./common 目录为公共资源目录,我们可以把定义的方法放在这个目录下,在此目录下我们随意建立一个文件比如”helps”目录,因为考虑到公共方法可能会有功能上的划分类,所以建立一个统一目录来进行管理。
这里我建立了两个工具类。
YII2采用了PHP的新特性命名空间
建立公共方法
<?php namespace common\helps; /* * 自定义全局公共方法 */ class tools{ public static function hello(){ echo 'hello world!'; } } ?>
直接调用
<? /*直接在控制器中调用*/ public function actionIndex(){ \common\helps\tools::hello(); } ?>
声明命名空间调用
<? namespace backend\controllers; use \common\helps\tools;//使用工具类 class IndexController extends Controller{ public function actionIndex(){ tools::hello();//直接进行调用 } } ?>
更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》