借鉴Laravel5.2+的一些helper函数,Yii2在helper函数中也可以实现很多类似的有用函数。
比如,新建一个helper.php,放在某个目录下,比如./config/下。在web.php配置文件中引入:
helper里面可以定义一些常用的函数。
app()
Laravel的app()函数相当于Yii2的Yii:$app + Yii::$container
,用来自动解析依赖,获取类的实例时非常方便,在helper中也可以实现类似的功能:
if (!function_exists('app')) {
/**
* Get the available container instance.
*
* @param string $instance
*
* @return mixed|\yii\di\Container
*/
function app($instance = null)
{
if (is_null($instance)) {
return Yii::$container;
}
if (Yii::$app->has($instance)) {
return Yii::$app->get($instance);
}
return Yii::$container->get($instance);
}
}
- 什么参数都不传,返回Yii:$container容器
- 传递
$instance
实例名时,首先从Yii::$a