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对多项选择的处理
Oct 09 PHP
php中处理模拟rewrite 效果
Dec 09 PHP
mysql 全文搜索 技巧
Apr 27 PHP
PHP 截取字符串函数整理(支持gb2312和utf-8)
Feb 16 PHP
PHP 获取客户端真实IP地址多种方法小结
May 15 PHP
PHP 中检查或过滤IP地址的实现代码
Nov 27 PHP
模板引擎smarty工作原理以及使用示例
May 25 PHP
PHP实现生成带背景的图形验证码功能
Oct 03 PHP
Yii框架弹出窗口组件CJuiDialog用法分析
Jan 07 PHP
老生常谈PHP 文件写入和读取(必看篇)
May 22 PHP
PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法
Sep 13 PHP
php判断文件上传图片格式的实例详解
Sep 30 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 项目的方法
2007/01/02 PHP
dedecms 制作模板中使用的全局标记图文教程
2007/03/11 PHP
thinkphp文件引用与分支结构用法实例
2014/11/26 PHP
PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
2016/04/04 PHP
js本身的局限性 别让javascript做太多事
2010/03/23 Javascript
Jquery Autocomplete 结合asp.net使用要点
2010/10/29 Javascript
使用js实现的简单拖拽效果
2015/03/18 Javascript
JQuery日历插件My97DatePicker日期范围限制
2016/01/20 Javascript
JavaScript function函数种类详解
2016/02/22 Javascript
javascript数字验证的实例代码(推荐)
2016/08/20 Javascript
jQuery获取table表中的td标签(实例讲解)
2017/07/28 jQuery
浅谈react+es6+webpack的基础配置
2017/08/09 Javascript
vue-router2.0 组件之间传参及获取动态参数的方法
2017/11/10 Javascript
vue使用 better-scroll的参数和方法详解
2018/01/25 Javascript
vue非父子组件通信问题及解决方法
2018/06/11 Javascript
vue form check 表单验证的实现代码
2018/12/09 Javascript
详解django模板与vue.js冲突问题
2019/07/07 Javascript
vue中uni-app 实现小程序登录注册功能
2019/10/12 Javascript
VUE解决 v-html不能触发点击事件的问题
2019/10/28 Javascript
ES6中的类(Class)示例详解
2020/12/09 Javascript
用Python创建声明性迷你语言的教程
2015/04/13 Python
什么是Python包的循环导入
2020/09/08 Python
python输出国际象棋棋盘的实例分享
2020/11/26 Python
使用CSS禁止textarea调整大小功能的方法
2015/03/13 HTML / CSS
微软台湾官方网站:Microsoft台湾
2018/08/15 全球购物
AJAX的优缺点都有什么
2015/08/18 面试题
环境科学专业个人求职的自我评价
2013/11/28 职场文书
护理不良事件检讨书
2014/02/06 职场文书
2015年“公民道德宣传日”活动方案
2015/05/06 职场文书
一年级语文教学随笔
2015/08/14 职场文书
2016年社区“我们的节日·中秋节”活动总结
2016/04/05 职场文书
入团申请书格式
2019/06/20 职场文书
2019暑假学生安全口号
2019/06/27 职场文书
教师节作文之小学四年级
2019/09/03 职场文书
浅谈JavaScript浅拷贝和深拷贝
2021/11/07 Javascript
kubernetes集群搭建Zabbix监控平台的详细过程
2022/07/07 Servers