教你在 Yii2 中添加全局函数

技巧库 · caicai · 于 7年前 发布 · 11613 次阅读

方法一

这种方法就是直接在入口文件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 有用到第二种方法,具体可以查看源码。

本帖已被设为精华帖!
共收到 4 条回复 Yii2 全局函数 Yii2基础用法
echo#17年前 0 个赞

:+1: 赞一个,这个我正需要,感谢分享。

Simon#27年前 0 个赞

我更喜欢在已有命名空间对应的目录结构下加 helpers

echo#37年前 0 个赞

@Simon #2楼 有时候调用 helpers 显得方法太长了。

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册