TP5模板输出替换

1、替换内容

TP5模板输出替换_第1张图片

2、替换方式

TP5模板输出替换_第2张图片

例如在index.php中:

return $this -> fetch('',[],[
  'www.php.cn' => 'PHP中文网',
]);

index.html文件中改为:

www.php.cn

替换前,网页会显示为www.php.cn
替换后,网页会变为PHP中文网

当然这样的简单文字替换并不是它的主要用途,主要用途是对于一些静态资源的替换。

接下来我们创建一个CSS文件,它是系统的静态资源文件,放在public\static文件夹中。
在该文件夹中创建一个css文件夹,在其中创建一个style.css文件。
该文件内容:

body{
  background: #2ad9fa;
}

然后将这个css文件引入到模板文件中:


如果要引入很多个css文件,每个都写一行,如果之后替换目录了岂不是要一个一个修改?太累了,这时就需要输出替换的方式了。
可以在idnex.php中添加一句:

'__CSS__'=>'/static/css',

然后在index.html中,改为:


之后如果要更改css目录,只要在index.php中更改__CSS__的值就可以了。可用于主题的更改。
如果把$thid->fetch()改为view(),就是使用助手函数的方式,如下:

return view('',[],[
  'www.php.cn' => 'PHP中文网',
]);

效果一样。
以上是一个模板中引入web资源文件的例子,如果项目中所有的模板都使用这些字符串替换该怎么办呢?可以把它写在配置项里。
打开convention.php文件,找到

//试图输出字符串内容替换
'view_replace_str' => [],

复制到自定义的配置文件config.php中:

//试图输出字符串内容替换
'view_replace_str' => [
  'www.php.cn'=>'PHP中文网',
  '__CSS__'=>'/static/css',
],

总结:模板内容替换通常是导入外部模板文件时,要做的第一件事,我们可以通过批量替换方式,大大提高页面静态资源引入的速度,提高项目的规范与可维护性。

你可能感兴趣的:(TP5模板输出替换)