laravel的blade模板如何生成静态化页面?
程序员文章站
2022-04-27 18:56:54
...
百度了一下php的静态化技术,大致有3种:
1.用正则替换页面模板文件
2.用ob_star技术
3.用第三方模板引擎
1.用正则替换页面模板文件
2.用ob_star技术
3.用第三方模板引擎
一开始很天真,以为在控制器里直接用$page=View('index');
然后把$page
保存起来就是静态页面,后来调试一下发觉$page
是一个实体,也没有哪个属性记录到生成的html内容,就放弃了。
换了ob_star技术,但是在blade模板的第一行加入ob_star()
,在页面最后一行加上ob_get_contents()
等代码来获取页面流,写入一个文件。结果是成功把生成的页面写入html文件,但是浏览器中看到的页面是空白的。
求静态化解决方案。。。。。
回复内容:
百度了一下php的静态化技术,大致有3种:
1.用正则替换页面模板文件
2.用ob_star技术
3.用第三方模板引擎
一开始很天真,以为在控制器里直接用$page=View('index');
然后把$page
保存起来就是静态页面,后来调试一下发觉$page
是一个实体,也没有哪个属性记录到生成的html内容,就放弃了。
换了ob_star技术,但是在blade模板的第一行加入ob_star()
,在页面最后一行加上ob_get_contents()
等代码来获取页面流,写入一个文件。结果是成功把生成的页面写入html文件,但是浏览器中看到的页面是空白的。
求静态化解决方案。。。。。
解析开始是由__toString()
触发的
解析过程中是用ob_start实现的,使用了很多次ob_start
你可以看下Illuminate\View\View
这个类
也可以调用Illuminate\View\View
的__toString()
方法来生成静态页面,如下:
__toString();
对于laravel 5(4应该也差不多)
推荐阅读
-
如何通过View::first使用Laravel Blade的动态模板详解
-
laravel做的网站需不需要进行页面静态化?
-
laravel做的网站需不需要进行页面静态化?
-
Laravel5 的多对多关系中,在 blade 模板里面如何循环输出其中一张表的字段,而且输出其关联对应的另外一张表的字段
-
Smarty实现页面静态化(生成HTML)的方法,smarty静态_PHP教程
-
介绍生成PHP网站页面静态化的方法_PHP教程
-
介绍生成PHP网站页面静态化的方法_PHP教程
-
介绍生成PHP网站页面静态化的方法
-
PHP网站页面静态化的生成方法介绍
-
如何通过View::first使用Laravel Blade的动态模板详解