Yii 有 helper/component debug class 随处可用,语法简单,无需导入
Yii have helper/component debug class available everywhere with simple syntax and without having to import
假设我有一个 Debug 助手,它有一个方法来显示变量的内容,方式与此类似:
namespace app\components;
class D extends \yii\base\Component
{
public static function trace($variable='')
{
echo $variable;
}
}
有没有一种方法可以让这个组件在任何 Controller
、Model
和 View
中可用,方法是使用它的简单形式并简单地写:
D::trace($bob);
我想知道是否可以将它导入任何地方,这样我就不必使用其中之一
// Load in config then use this (too long)
Yii::$app->D->trace($key);
// Write the whole namespace everytime (too long)
\app\components\D::trace($value);
// Load the namespace first every time I need it first (Annoying)
use app\components\D;
D::trace($value);
您有两个选择:
在全局命名空间中创建助手并在各处添加前导斜杠:
\D::trace($value);
创建全局函数作为助手(或其方法)的包装器:
function d() {
static $d;
if ($d === null) {
$d = new D();
}
return $d;
}
d()->trace($string)
或
function dtrace($string) {
return D::trace($string);
}
dtrace($string);
假设我有一个 Debug 助手,它有一个方法来显示变量的内容,方式与此类似:
namespace app\components;
class D extends \yii\base\Component
{
public static function trace($variable='')
{
echo $variable;
}
}
有没有一种方法可以让这个组件在任何 Controller
、Model
和 View
中可用,方法是使用它的简单形式并简单地写:
D::trace($bob);
我想知道是否可以将它导入任何地方,这样我就不必使用其中之一
// Load in config then use this (too long)
Yii::$app->D->trace($key);
// Write the whole namespace everytime (too long)
\app\components\D::trace($value);
// Load the namespace first every time I need it first (Annoying)
use app\components\D;
D::trace($value);
您有两个选择:
在全局命名空间中创建助手并在各处添加前导斜杠:
\D::trace($value);
创建全局函数作为助手(或其方法)的包装器:
function d() { static $d; if ($d === null) { $d = new D(); } return $d; } d()->trace($string)
或
function dtrace($string) { return D::trace($string); } dtrace($string);