> ThinkPHP5手册 > 输出替换

输出替换


模板输出替换

版本 新增功能
5.0.4 增加__ROOT__ __STATIC__ __JS____CSS__内置替换规则

支持对视图输出的内容进行字符替换,例如:

namespace index\app\controller;

class Index extends \think\Controller
{
    public function index()
    {
        $this->assign('name','thinkphp');
        return $this->fetch('index',[],['__PUBLIC__'=>'/public/']);
    }
}

如果需要全局替换的话,可以直接在配置文件中添加:

'view_replace_str'  =>  [
    '__PUBLIC__'=>'/public/',
    '__ROOT__' => '/',
]

然后就可以直接使用

namespace index\app\controller;

class Index extends \think\Controller
{
    public function index()
    {
        $this->assign('name','thinkphp');
        return $this->fetch('index');
    }
}

如果你手动实例化视图类,请确保在实例化的时候传入配置参数:

$view = new View([],Config::get('view_replace_str'));
return $view->fetch();

助手函数view也支持全局配置参数view_replace_str的设置,如果需要设置不同的替换参数,可以使用:

return view('index',['name'=>'thinkphp'],['__PUBLIC__'=>'/public/']);

在渲染模板或者内容输出的时候就会自动根据设置的替换规则自动替换。

要使得你的全局替换生效,确保你的控制器类继承think\Controller或者使用view助手函数渲染输出。


上一篇: