Yii2 中添加全局函数

方法一

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

// 全局函数
if (!function_exists('pp')) {
	//传递数据以易于阅读的样式格式化后输出
	function pp($data='')
	{
	    // 定义样式
	    $str='<pre style="display: block;padding: 9.5px;margin: 44px 0 0 0;font-size: 13px;line-height: 1.42857;color: #333;word-break: break-all;word-wrap: break-word;background-color: #F5F5F5;border: 1px solid #CCC;border-radius: 4px;">';
	    // 如果是boolean或者null直接显示文字;否则print
	    if (is_bool($data)) {
	        $show_data=$data ? 'true' : 'false';
	    }elseif (is_null($data)) {
	        $show_data='null';
	    }else{
	        $show_data=print_r($data,true);
	    }
	    $str.=$show_data;
	    $str.='</pre>';
	    exit($str);
	}
}

(new yii\web\Application($config))->run();

复制代码

也可以把全局函数写到一个文件里面,比如说 common\helpers\GlobalFunctions.php,然后在 web/index.php 里面这样引用此文件:

require __DIR__ . '/../../common/helpers/GlobalFunctions.php';
require __DIR__ . '/../config/bootstrap.php';

(new yii\web\Application($config))->run();

复制代码

方法二(推荐)

这种方法主要是利用 composer 来实现,先把全局函数都可以写在 /common/helpers/GlobalFunctions.php 文件里面,然后在 composer.json 文件里面添加如下代码:

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

复制代码

添加完之后用终端在项目根目录下执行 composer dumpdump-autoloaddumpautoload 命令就可以了。

总结

其实框架中添加全局函数的方法都一样,或者是在入口脚本中添加,或者利用 composer 来实现,当然我们尽可能选择后者,原因你懂的。

转载于:https://juejin.im/post/5aa7705351882555627cf389

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值