已有40人关注
关于Smarty的配置问题,真的弄不懂
发表在PHP图书答疑 2015-10-28
是否精华
版块置顶:
根据P413第21.2.3节的说法,我尝试配置Smarty,但老是不成功。我的配置方法如下,请老师分析错在哪一步:
一、将【例21.1】所设置的Smarty目录复制到www目录下;
二、在Smarty目录的子目录configs中创建配置文件config.php,配置文件的代码基本照抄P413的代码,唯一改动的是实际修改所定义Smarty目录的绝对路径:define('SMARTY_PACH','\Smarty\\')。
以学生对书本的理解,配置Smarty就这么两步,应该不算很复杂。但当运行【例21.2】时,却出现了错误。
我对【例21.2】中,index.php文件里关于载入配置文件所用语句“include '../config.php';”中的“../”不理解,不知道是不是跟DOS命令一样,指的是index.php文件所在目录的父目录?弄清这个问题,对于理解各目录的层次关系很重要,望老师指点。
分享到:
精彩评论 6
铁游夏
学分:0 LV1
TA的每日心情
还糊涂
2020-10-22 13:46:07
2015-10-28
沙发
“../”的意思是当前文件的上一级目录,也就是你所说的父目录。使用Smarty主要就是把各个路径设置正确就能正常运行。
昌叔_mrkj
学分:14 LV2
TA的每日心情
奋斗
2020-03-29 16:21:53
2015-10-28
板凳
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
“../”的意思是当前文件的上一级目录,也就是你所说的父目录。使用Smarty主要就是把各个路径设置正确就能正常运行。
[/FIELDSET]

回复:
  
回复:
  学生需要弄清楚如下问题,烦老师给耐心回答:
1、《PHP从入门到精通》P413说,“因为Smarty类库是通用的,每一个项目都可能会使用到它,所以将Smarty存储到根目录下。”
…目录configs存储项目的配置文件;…
因此,应该把Smarty目录置于www文件夹下,而新建的那个配置文件config.php应该放在configs目录中,是这样吗?但本书P413所给出的配置文件config.php,定义目录Smarty的绝对路径却是:
define('SMARTY_PATH','\mr\09\093\sl\Smarty\\');这说明,Smarty目录并非配置于根目录之下,这样的配置还能保证其具有“通用性”的特点吗?
2、如下两个文件各应放在什么地方:
完成Smarty配置工作后,index.php文件和index.html这两文件各应该放在什么地方?像课本P415之【例21.2】,index.html是放置于templates/02/之下,但index.php放于何处,就不清楚,是与config.php在同一目录中吗?学生花了好长时间也弄不明白,请解释。
铁游夏
学分:0 LV1
TA的每日心情
还糊涂
2020-10-22 13:46:07
2015-10-28
地板
书中smarty的配置是针对本章的实例,所以路径是这样定义的,如果考虑到多个项目通用,你可以把smarty存储在和多个项目文件夹同一级的目录下,然后在配置文件中指定好smarty的路径。configs文件夹一般用来存储其他外部配置文件,config.php文件不要放在该文件夹下,一般放在项目的文件夹中。

index.php文件根据自己的需要进行存储,index.html文件是模板文件,需要放在templates文件夹下,在index.php文件中应用display方法对模板文件进行指定。
昌叔_mrkj
学分:14 LV2
TA的每日心情
奋斗
2020-03-29 16:21:53
2015-10-28
4L
[FIELDSET][LEGEND]引自:3楼[/LEGEND]
书中smarty的配置是针对本章的实例,所以路径是这样定义的,如果考虑到多个项目通用,你可以把smarty存储在和多个项目文件夹同一级的目录下,然后在配置文件中指定好smarty的路径。configs文件夹一般用来存储其他外部配置文件,config.php文件不要放在该文件夹下,一般放在项目的文件夹中。

index.php文件根据自己的需要进行存储,index.html文件是模板文件,需要放在templates文件夹下,在index.php文件中应用display方法对模板文件进行指定。
[/FIELDSET]

回复:
    谢谢老师的耐心解答。依老师的解释,对于每一个项目来说,都要重新配置一次Smarty;而且,对于每一个*.html模板文件,都必须有对应的*.php文件为模板文件提供数据源,是这样吗?学生还处于蹒跚学步的水平,老师莫笑话。
铁游夏
学分:0 LV1
TA的每日心情
还糊涂
2020-10-22 13:46:07
2015-10-29
5L
一般来说,每一个项目都要有自己的smarty配置,多个项目共用一个smarty配置也不是不可以,这样的话多个项目的模板文件都要放在同一个templates文件夹下,不建议这样做。

PHP文件对应的模板文件不是一定要和PHP文件同名,在PHP文件中对相应的模板文件进行指定就可以。
昌叔_mrkj
学分:14 LV2
TA的每日心情
奋斗
2020-03-29 16:21:53
2015-10-29
6L
感谢老师的耐心指教!
首页上一页 1 下一页尾页 6 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照