Yii2中添加全局函数的方法分析


Posted in PHP onMay 04, 2017

本文实例讲述了Yii2中添加全局函数的方法。分享给大家供大家参考,具体如下:

方法一

这种方法就是直接在入口文件web/index.php里面写函数,示例代码如下:

// something code ……
// 全局函数
function pr($var)
{
  $template = php_sapi_name() !== 'cli' ? '<pre>%s</pre>' : "\n%s\n";
  printf($template, print_r($var, true));
  exit;
}
(new yii\web\Application($config))->run();

这个方法虽然可以实现,但是本人不推荐,因为改了框架本身的代码,而且如果全局函数多了的话,也不好管理。

方法二(推荐)

这种方法主要是利用 composer 来实现,在 composer.json 文件里面添加如下代码:

"autoload": {
  "files": [
   "common/components/GlobalFunctions.php"
  ]
},

添加完之后记得用终端在项目根目录下执行 composer update 命令

然后我们的全局函数都可以写在 GlobalFunctions.php 文件里面,这个方法实现的话 IED 是会用代码提示的。

GetYii 有用到第二种方法,具体可以查看源码。

我更喜欢在已有命名空间对应的目录结构下加 helpers

有时候调用 helpers 显得方法太长了。

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

PHP 相关文章推荐
php+javascript的日历控件
Nov 19 PHP
php中使用addslashes函数报错问题的解决方法
Feb 06 PHP
php操作mysql数据库的基本类代码
Feb 25 PHP
php解决约瑟夫环示例
Apr 09 PHP
php实例分享之mysql数据备份
May 19 PHP
Codeigniter注册登录代码示例
Jun 12 PHP
PHP日期函数date格式化UNIX时间的方法
Mar 19 PHP
PHP获取某个月最大天数(最后一天)的方法
Jul 29 PHP
浅谈php7的重大新特性
Oct 23 PHP
php处理json格式数据经典案例总结
May 19 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
Feb 07 PHP
php实现获取农历(阴历)、节日、节气的类与用法示例
Nov 20 PHP
Yii2表单事件之Ajax提交实现方法
May 04 #PHP
PHP经典实用正则表达式小结
May 04 #PHP
PHP实现的简单异常处理类示例
May 04 #PHP
PHP基于新浪IP库获取IP详细地址的方法
May 04 #PHP
PHP 无限级分类
May 04 #PHP
PHP实现中国公民身份证号码有效性验证示例代码
May 03 #PHP
PHP基于Redis消息队列实现发布微博的方法
May 03 #PHP
You might like
日本因肺炎疫情影响,这几部动漫推延播放!
2020/03/03 日漫
收音机史话 - 1960年代前后的DIY
2021/03/02 无线电
apache+php+mysql安装配置方法小结
2010/08/01 PHP
PHP函数篇之掌握ord()与chr()函数应用
2011/12/05 PHP
Youku 视频绝对地址获取的方法详解
2013/06/26 PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
2016/06/13 PHP
帮助避免错误的Javascript陷阱清单
2009/05/31 Javascript
菜鸟javascript基础整理1
2010/12/06 Javascript
JS字符串函数扩展代码
2011/09/13 Javascript
js原型链原理看图说明
2012/07/07 Javascript
html中的input标签的checked属性jquery判断代码
2012/09/19 Javascript
JS获取时间的方法
2015/01/21 Javascript
JS实现的自定义右键菜单实例二则
2015/09/01 Javascript
jQuery+Ajax+PHP+Mysql实现分页显示数据实例讲解
2015/09/27 Javascript
JQuery解析XML的方法小结
2016/04/02 Javascript
jQuery EasyUI 右键菜单--关闭标签/选项卡的简单实例
2016/10/10 Javascript
bootstrap组件之导航组件使用方法
2017/01/19 Javascript
Bootstrap媒体对象学习使用
2017/03/07 Javascript
vue-cli webpack2项目打包优化分享
2018/02/07 Javascript
从0到1构建vueSSR项目之node以及vue-cli3的配置
2019/03/07 Javascript
js实现课堂随机点名系统
2019/11/21 Javascript
javaScript代码飘红报错看不懂?读完这篇文章再试试
2020/08/19 Javascript
Flask框架配置与调试操作示例
2018/07/23 Python
python数据结构学习之实现线性表的顺序
2018/09/28 Python
对python中词典的values值的修改或新增KEY详解
2019/01/20 Python
详解Python用三种方式统计词频的方法
2019/07/29 Python
python实现证件照换底功能
2019/08/20 Python
在SQL Server中创建数据库主要有那种方式
2013/09/10 面试题
高级销售求职信
2014/02/21 职场文书
回复函格式及范文
2015/07/14 职场文书
MySQL去除重叠时间求时间差和的实现
2021/08/23 MySQL
Nginx缓存设置案例详解
2021/09/15 Servers
TV动画《间谍过家家》公开PV
2022/03/20 日漫
MongoDB误操作后使用oplog恢复数据
2022/04/11 MongoDB
微信小程序APP的事件绑定以及传递参数时的冒泡和捕获
2022/04/19 Javascript
tree shaking对打包体积优化及作用
2022/07/07 Java/Android