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中serialize序列化与json性能测试的示例分析
Apr 27 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
Jun 20 PHP
php编写的简单页面跳转功能实现代码
Nov 27 PHP
php利用scws实现mysql全文搜索功能的方法
Dec 25 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
Jun 28 PHP
Yii实现单用户博客系统文章详情页插入评论表单的方法
Dec 28 PHP
[原创]php实现 data url的图片生成与保存
Dec 04 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
May 05 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
Jul 20 PHP
thinkPHP中钩子的使用方法实例分析
Nov 16 PHP
PHP设计模式之装饰器模式定义与用法简单示例
Aug 13 PHP
laravel自定义分页的实现案例offset()和limit()
Oct 15 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
php PDO属性设置与操作方法分析
2018/12/27 PHP
网上抓的一个特效
2007/05/11 Javascript
ajax更新数据后,jquery、jq失效问题
2011/03/16 Javascript
js报错 Object doesn't support this property or method的原因分析
2011/03/31 Javascript
JSON序列化与解析原生JS方法且IE6和chrome测试通过
2013/09/05 Javascript
获得Javascript对象属性个数的示例代码
2013/11/21 Javascript
jQuery的animate函数实现图文切换动画效果
2015/05/03 Javascript
js定义类的几种方法(推荐)
2016/06/08 Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
2016/07/07 Javascript
AngularJS 过滤器(自带和自建)详解
2016/09/19 Javascript
手机端实现Bootstrap简单图片轮播效果
2016/10/13 Javascript
easyui-edatagrid.js实现回车键结束编辑功能的实例
2017/04/12 Javascript
JS实现的base64加密解密操作示例
2018/04/18 Javascript
微信小程序实现分享朋友圈的图片功能示例
2019/01/18 Javascript
JS 逻辑判断不要只知道用 if-else 和 switch条件判断(小技巧)
2020/05/27 Javascript
利用python程序帮大家清理windows垃圾
2017/01/15 Python
Python网页正文转换语音文件的操作方法
2018/12/09 Python
Python中的random.uniform()函数教程与实例解析
2019/03/02 Python
python try 异常处理(史上最全)
2019/03/07 Python
VPS CENTOS 上配置python,mysql,nginx,uwsgi,django的方法详解
2019/07/01 Python
python实现把两个二维array叠加成三维array示例
2019/11/29 Python
在notepad++中实现直接运行python代码
2019/12/18 Python
Python将字典转换为XML的方法
2020/08/01 Python
CSS3实现超慢速移动动画效果非常流畅无卡顿
2014/06/15 HTML / CSS
CSS3 box-sizing属性详解
2016/11/15 HTML / CSS
html5使用canvas画一条线
2014/12/15 HTML / CSS
HTML5中在title标题标签里设置小图标的方法
2020/06/23 HTML / CSS
Bibloo匈牙利:女装、男装、童装及鞋子和配饰
2019/04/14 全球购物
Java面试题汇总
2015/12/06 面试题
篝火晚会主持词
2014/03/25 职场文书
2014年技术部工作总结
2014/12/12 职场文书
高一军训决心书
2015/02/05 职场文书
仓库保管员岗位职责
2015/02/09 职场文书
开学典礼致辞
2015/07/29 职场文书
JavaScript实现显示和隐藏图片
2021/04/29 Javascript
MySQL数据库之内置函数和自定义函数 function
2022/06/16 MySQL