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 相关文章推荐
文件上传类
Oct 09 PHP
php xml文件操作代码(一)
Mar 20 PHP
两个开源的Php输出Excel文件类
Feb 08 PHP
国外比较好的几个的Php开源建站平台小结
Apr 22 PHP
php中取得文件的后缀名?
Feb 20 PHP
destoon实现资讯信息前面调用它所属分类的方法
Jul 15 PHP
thinkphp微信开发(消息加密解密)
Dec 02 PHP
Laravel框架实现发送短信验证功能代码
Jun 06 PHP
Laravel给生产环境添加监听事件(SQL日志监听)
Jun 19 PHP
浅谈Laravel中的一个后期静态绑定
Aug 11 PHP
thinkPHP框架中layer.js的封装与使用方法示例
Jan 18 PHP
使用Rancher在K8S上部署高性能PHP应用程序的教程
Jul 10 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安全下载文件的方法
2016/04/07 PHP
PHP实现笛卡尔积算法的实例讲解
2019/12/22 PHP
TNC vs BOOM BO3 第一场2.13
2021/03/10 DOTA
从Ajax到JQuery Ajax学习
2007/02/14 Javascript
判断字符串的长度(优化版)中文占两个字符
2014/10/30 Javascript
jQuery实现移动端滑块拖动选择数字效果
2015/12/24 Javascript
vue中for循环更改数据的实例代码(数据变化但页面数据未变)
2017/09/15 Javascript
swiper插件自定义切换箭头按钮
2017/12/28 Javascript
MockJs结合json-server模拟后台数据
2020/08/26 Javascript
vue 解决移动端弹出键盘导致页面fixed布局错乱的问题
2019/11/06 Javascript
JS自定义对象创建与简单使用方法示例
2020/01/15 Javascript
javascript读取本地文件和目录方法详解
2020/08/06 Javascript
[03:26]《DAC最前线》之EG经理自述DOTA2经历
2015/02/02 DOTA
Python的ORM框架SQLAlchemy入门教程
2014/04/28 Python
简单介绍Python中的floor()方法
2015/05/15 Python
python实现机械分词之逆向最大匹配算法代码示例
2017/12/13 Python
Python数据分析之获取双色球历史信息的方法示例
2018/02/03 Python
python中的turtle库函数简单使用教程
2018/07/23 Python
OpenCV+python手势识别框架和实例讲解
2018/08/03 Python
Python实现注册、登录小程序功能
2018/09/21 Python
如何在python中写hive脚本
2019/11/08 Python
在python中利用try..except来代替if..else的用法
2019/12/19 Python
爬虫代理池Python3WebSpider源代码测试过程解析
2019/12/20 Python
Python如何获取文件指定行的内容
2020/05/27 Python
keras K.function获取某层的输出操作
2020/06/29 Python
利用css3径向渐变做一张优惠券的示例
2018/03/22 HTML / CSS
html5+CSS3+JS实现七夕言情功能代码
2017/08/28 HTML / CSS
HTML5 Video标签的属性、方法和事件汇总介绍
2015/04/24 HTML / CSS
巴西女装购物网站:Eclectic
2018/04/24 全球购物
丝芙兰墨西哥官网:Sephora墨西哥
2020/05/30 全球购物
2014年信贷员工作总结
2014/11/18 职场文书
银行给客户的感谢信
2015/01/23 职场文书
学生检讨书范文
2015/01/27 职场文书
canvas绘制折线路径动画实现
2021/05/12 Javascript
Java后台生成图片的完整步骤
2021/08/04 Java/Android
Kubernetes中Deployment的升级与回滚
2022/04/01 Servers