YII2中如何自定义全局函数

有些时候我们需要自定义一些全局函数来完成我们的工作。

方法一:

直接写在入口文件处

<?php

// comment out the following two lines when deployed to production
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev'); require __DIR__ . '/../vendor/autoload.php';
require __DIR__ . '/../vendor/yiisoft/yii2/Yii.php'; $config = require __DIR__ . '/../config/web.php'; //自定义函数
function test() {
echo 'test ...';
} (new yii\web\Application($config))->run();

  

方法二:

在app下创建common目录,并创建functions.php文件,并在入口文件中通过require引入。

<?php

// comment out the following two lines when deployed to production
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev'); require __DIR__ . '/../vendor/autoload.php';
require __DIR__ . '/../vendor/yiisoft/yii2/Yii.php'; //引入自定义函数
require __DIR__ . '/../common/functions.php'; $config = require __DIR__ . '/../config/web.php'; (new yii\web\Application($config))->run();

  

方法三:

通过YII的命名空间来完成我们自定义函数的引入,在app下创建helpers目录,并创建tools.php(名字可以随意)。

tools.php的代码如下:

<?php
//注意这里,要跟你的目录名一致
namespace app\helpers; class Tools
{
public static function test()
{
echo 'test ...';
}
}

然后我们在控制器里就可以通过命名空间来调用了。

<?php

namespace app\controllers;

use yii\web\Controller;
use app\helpers\tools; class IndexController extends Controller
{ public function actionIndex()
{
Tools::test();
}
}

  

上一篇:有什么适合小团队记录任务清单的协作APP工具?


下一篇:Python 的 GUI 开发工具 Flexx