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+DBM的同学录程序(2)
Oct 09 PHP
信用卡效验程序
Oct 09 PHP
phpwind中的数据库操作类
Jan 02 PHP
快速配置PHPMyAdmin方法
Jun 05 PHP
PHP性能优化工具篇Benchmark类调试执行时间
Dec 06 PHP
PHP中鲜为人知的10个函数
Feb 28 PHP
PHP fopen()和 file_get_contents()应用与差异介绍
Mar 19 PHP
PHP中对各种加密算法、Hash算法的速度测试对比代码
Jul 08 PHP
php中把美国时间转为北京时间的自定义函数分享
Jul 28 PHP
PHP生成条形图的方法
Dec 10 PHP
laravel5表单唯一验证的实例代码
Sep 30 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
Mar 29 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
php使用指定编码导出mysql数据到csv文件的方法
2015/03/31 PHP
PHP实现对数字分隔加千分号的方法
2019/03/18 PHP
javascript 写类方式之五
2009/07/05 Javascript
javascript 隐藏/显示指定的区域附HTML元素【legend】用法
2010/03/05 Javascript
ExtJs事件机制基本代码模型和流程解析
2010/10/24 Javascript
一款由jquery实现的整屏切换特效
2014/09/15 Javascript
取得元素的左和上偏移量的方法
2014/09/17 Javascript
Javascript冒泡排序算法详解
2014/12/03 Javascript
动态加载js的方法汇总
2015/02/13 Javascript
学习JavaScript正则表达式
2015/11/13 Javascript
纯JS前端实现分页代码
2016/06/21 Javascript
Node之简单的前后端交互(实例讲解)
2017/11/14 Javascript
vue检测对象和数组的变化分析
2018/06/30 Javascript
layui2.0使用table+laypage实现真分页
2019/07/27 Javascript
[01:13:01]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第三场
2018/04/05 DOTA
一个简单的python程序实例(通讯录)
2013/11/29 Python
Python采集腾讯新闻实例
2014/07/10 Python
pandas.DataFrame选取/排除特定行的方法
2018/07/03 Python
python绘制中国大陆人口热力图
2018/11/07 Python
浅谈Python接口对json串的处理方法
2018/12/19 Python
Python面向对象程序设计多继承和多态用法示例
2019/04/08 Python
如何更优雅地写python代码
2019/07/02 Python
python实现将文件夹内的每张图片批量分割成多张
2019/07/22 Python
OpenCV+python实现实时目标检测功能
2020/06/24 Python
Python Tornado核心及相关原理详解
2020/06/24 Python
python飞机大战游戏实例讲解
2020/12/04 Python
HTML5 Video标签的属性、方法和事件汇总介绍
2015/04/24 HTML / CSS
华纳兄弟工作室的官方授权商店:WB Shop
2018/11/30 全球购物
财产保全担保书范文
2014/04/01 职场文书
家庭困难证明
2014/10/12 职场文书
硕士学位申请报告
2015/05/15 职场文书
委托收款证明
2015/06/23 职场文书
2015大学生入党个人自传
2015/06/26 职场文书
2016年小学圣诞节活动总结
2016/03/31 职场文书
MYSQL如何查看进程和kill进程
2022/03/13 MySQL
海贼王十大潜力果实,路飞仅排第十,第一可毁世界(震震果实)
2022/03/18 日漫