Yii2.0建立公共方法简单示例


Posted in PHP onJanuary 29, 2019

本文实例讲述了Yii2.0建立公共方法。分享给大家供大家参考,具体如下:

因为之前写项目都是用的Thinkphp,公共方法都写在Tp自带的common下面的function里面,初次接触Yii框架发现它自身没带这个机制。在项目中,很多地方都需要公共方法的存在,以提高代码复用性,减少重复开发的时间,那yii2如何定义自己的公共方法呢?

以yii2-advanced版本为基础来进行介绍:

Yii2.0建立公共方法简单示例

上图为yii2-advanced版本的基础目录结构,而./common 目录为公共资源目录,我们可以把定义的方法放在这个目录下,在此目录下我们随意建立一个文件比如”helps”目录,因为考虑到公共方法可能会有功能上的划分类,所以建立一个统一目录来进行管理。

Yii2.0建立公共方法简单示例

这里我建立了两个工具类。

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框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP安装攻略:常见问题解答(一)
Oct 09 PHP
Linux下进行MYSQL编程时插入中文乱码的解决方案
Mar 15 PHP
PHP中for循环语句的几种变型
Mar 16 PHP
PHP中ADODB类详解
Mar 25 PHP
几款免费开源的不用数据库的php的cms
Dec 19 PHP
Php图像处理类代码分享
Jan 19 PHP
php遍历文件夹和文件列表示例分享
Mar 11 PHP
PHP+Mysql树型结构(无限分类)数据库设计的2种方式实例
Jul 15 PHP
thinkphp连贯操作实例分析
Nov 22 PHP
PHP函数extension_loaded()用法实例
Jan 19 PHP
PHP函数func_num_args用法实例分析
Dec 07 PHP
PHPUnit测试私有属性和方法功能示例
Jun 12 PHP
使用vs code编辑调试php配置的方法
Jan 29 #PHP
Yii2.0实现的批量更新及批量插入功能示例
Jan 29 #PHP
详解关于php的xdebug配置(编辑器vscode)
Jan 29 #PHP
PDO::inTransaction讲解
Jan 28 #PHP
PDO::getAvailableDrivers讲解
Jan 28 #PHP
PDO::getAttribute讲解
Jan 28 #PHP
PDO::exec讲解
Jan 28 #PHP
You might like
30 个很棒的PHP开源CMS内容管理系统小结
2011/10/14 PHP
php之curl设置超时实例
2014/11/03 PHP
网页开发中的容易忽略的问题 javascript HTML中的table
2009/04/15 Javascript
jquery $.getJSON()跨域请求
2011/12/21 Javascript
jquery div 居中技巧应用介绍
2012/11/24 Javascript
基于JavaScript 类的使用详解
2013/05/07 Javascript
js实现快速分享功能(你的文章分享工具)
2013/06/25 Javascript
通过一段代码简单说js中的this的使用
2013/07/23 Javascript
JavaScript中的分号插入机制详细介绍
2015/02/11 Javascript
JavaScript+html5 canvas绘制渐变区域完整实例
2016/01/26 Javascript
Bootstrap教程JS插件滚动监听学习笔记分享
2016/05/18 Javascript
JavaScript知识点总结(五)之Javascript中两个等于号(==)和三个等于号(===)的区别
2016/05/31 Javascript
Vue 项目代理设置的优化
2018/04/17 Javascript
微信小程序实现滑动切换自定义页码的方法分析
2018/12/29 Javascript
浅谈TypeScript 用 Webpack/ts-node 运行的配置记录
2019/10/11 Javascript
vue elementui 实现搜索栏公共组件封装的实例代码
2020/01/20 Javascript
Jquery Fade用法详解
2020/11/06 jQuery
[01:03:33]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
[39:19]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第二场 11.26
2020/11/30 DOTA
python保存字符串到文件的方法
2015/07/01 Python
mac下pycharm设置python版本的图文教程
2018/06/13 Python
python实现指定字符串补全空格、前面填充0的方法
2018/11/16 Python
python3实现字符串操作的实例代码
2019/04/16 Python
css3 条纹化和透明化表格Firefox下测试成功
2014/04/15 HTML / CSS
HTML5 embed标签定义和用法详解
2014/05/09 HTML / CSS
浅谈利用缓存来优化HTML5 Canvas程序的性能
2015/05/12 HTML / CSS
HTC VIVE美国官网:VR虚拟现实眼镜
2018/02/13 全球购物
Desigual美国官方网站:西班牙服装品牌
2019/03/29 全球购物
中国旅游网站:途牛旅游网
2019/09/29 全球购物
工程力学硕士生的自我评价范文
2013/11/16 职场文书
员工考核管理制度
2014/02/02 职场文书
2014年班级工作总结
2014/11/14 职场文书
《怀念母亲》教学反思
2016/02/19 职场文书
浅谈移动端中的视口(viewport)的具体使用
2021/04/13 HTML / CSS
浅谈Redis的keys命令到底有多慢
2021/10/05 Redis
《群青的幻想曲》京力秋树角色PV公开
2022/04/08 日漫