我的CHtmlPurifier
课程采用purify
公共方法
这是一般用法:
<?php $obj = new CHtmlPurifier(); ?>
<?php echo $obj->purify($text); ?>
现在,我如何使用purify
方法内联?!
当然我不能这样使用:
<?php echo CHtmlPurifier::purify($text); ?>
因为purify
不是静态方法。
我尝试这种方式的另一种方式:
<?php echo (new CHtmlPurifier())->purify($text); ?>
但这不起作用。 (我在PHP 5.3中尝试)
您是否有任何建议在没有定义额外变量的情况下快速内联使用?
答案 0 :(得分:0)
如果您正在使用Yii,那么可以为此创建服务并在那里注册CHtmlPurifier的实例。 见http://www.yiiframework.com/doc-2.0/yii-di-servicelocator.html[Yii DI]
如果不是
你可以创建这样的新类:
Class Registery
{
public static $refs = [];
public static function get($name)
{
if (!isset(self::$refs[$name])) {
if (class_exists($name)) {
self::$refs[$name] = new $name();
} else {
throw new \Exception('class not exists');
}
}
return self::$refs[$name];
}
}
你可以使用它:
<?php echo Registery::get('CHtmlPurifier')->purify($text); ?>