模板输出替换

版本新增功能
5.0.4增加ROOTSTATICJSCSS内置替换规则

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

  1. namespace index\app\controller;
  2. class Index extends \think\Controller
  3. {
  4. public function index()
  5. {
  6. $this->assign('name','thinkphp');
  7. return $this->fetch('index',[],['__PUBLIC__'=>'/public/']);
  8. }
  9. }

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

  1. 'view_replace_str' => [
  2. '__PUBLIC__'=>'/public/',
  3. '__ROOT__' => '/',
  4. ]

然后就可以直接使用

  1. namespace index\app\controller;
  2. class Index extends \think\Controller
  3. {
  4. public function index()
  5. {
  6. $this->assign('name','thinkphp');
  7. return $this->fetch('index');
  8. }
  9. }

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

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

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

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