Yii2 中添加全局函数

其实,真没必要添加全局函数,如果你真想取巧,我介绍一下:

第一个就是添加在入口文件index.php

譬如frontend/web/index.php


// 全局函数
if (!function_exists('p')) {
/**
     * 调试专用
     * @param $message
     * @param bool|true $debug
     */
function p($message, $debug = true)
    {
echo '<pre>';
print_r($message);
echo '</pre>';
if ($debug) {
die;
}
}
}

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

在初始化Yii 语句前和后都可以

或者在头部用引入函数

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

第二种是用修改根目录下的composer.json文件

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

当然这种需要在项目根目录下,去运行

composer dump

来重新生成autoload文件

其实一般全局函数没啥用,当然框架的组件函数你用不惯可以简写一下,譬如 Yii2 的request 、session 、user 、18i、cache、response 这些组件简写,其实有了phpstrome的Yii 提示组件,这些都不是问题。如果你有其他需要全局的场景,可以用这个方法。

评论区
登陆 后评论!