欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php smarty的问题

程序员文章站 2022-05-22 17:22:02
...
用smarty的include函数可以引入一个公共的部分,,,
比如是a.tpl。。。。。

我的问题来了,如果a.tpl里头不完全是静态的html,也有一部分是需要assign变量的,

那么b.tpl引入a.tpl的时候,
b.tpl对应b.php页面不是还要assgin进来a.tpl里需要的变量嘛。。。。。

这不是很麻烦吗?如果一个页面引入的公共模块很多,,,,

变量都要拉过来。。


回复讨论(解决方案)

很难么? 大牛们

include_php is a nice way to handle componentized templates, and keep PHP code separate from the template files. Lets say you have a template that shows your site navigation, which is pulled dynamically from a database. You can keep your PHP logic that grabs database content in a separate directory, and include it at the top of the template. Now you can include this template anywhere without worrying if the database information was assigned by the application before hand.
include_php 是解决模板部件化的好方法,它使得 php 代码从模板文件中被分离出来. 举个例子:假设有一个从数据库中动态取出数据用于显示站点导航的模板,你可以将得数据内容的 php 逻辑部分分离出来保存在一个单独的文件夹下,并在模板开始的位置包含该 php 脚本. 那么就可以在任何地方包含此模板而不用担心之前数据库信息是否已被程序取出.

用smarty的include函数可以引入一个公共的部分,,,
比如是a.tpl。。。。。

我的问题来了,如果a.tpl里头不完全是静态的html,也有一部分是需要assign变量的,

那么b.tpl引入a.tpl的时候,
b.tpl对应b.php页面不是还要assgin进来a.tpl里需要的变量嘛。。。。。

这不是很麻烦吗?如果一个页面引入的公共模块很多,,,,

变量都要拉过来。。

巧用数组

做个插件就可以了,或者在做一个全局的变量也行,这个实现起来比较简单。

相关标签: php smarty的问题