php新浪博客模板,PHP资源模板——模板终结者

default

other_style

到此为止,视图目录便大功告成了。

接下来就是PHP目录问题了。这是核心和关键,请大家仔细体会。

我们假设存在index.php文件,把它放在与‘view’文件夹同级的目录中。现在index.php从某处取得数据

后,需要调用index.htm文件负责显示了。我们假设它选择‘default’风格,那么相对于index.php文件

,其对应的index.htm的路径为‘view/default/index.htm’。

无论你使用什么模板引擎来处理现在的问题,你都会发现‘资源文件无法共享’。

例如在上面的情况中,logo.gif图片就无法在index.php中正常显示。因为index.php

与index.htm不在同级目录中,而index.htm文件却使用的是相对路径来连接图片。

为此您该怎么办?你可能会有如下方案来解决这个问题:

方案一:

您可能会说:“axlge你是猪头啊。你不晓得把index.php文件和index.htm文件放到同级目录中不就可以

了嘛?”

如果是只有一种风格,道是可以这样做;但即便如此,把html文件与php文件放到同一个目录,也让人略

有混乱之感。我认为这样并不好,因为修改起来不方便。毕竟我们希望程序员和美工能够各有各的‘地盘

’,相互的关联越少越好。

所以方案一可以被否决。

方案二:

您可能会说:“axlge你是猪头啊。你不晓得把相应的‘资源文件’,例如图片复制一份到相应的目录中

,不就可以了么?”

是的,这是可行的。但并不‘优美’。因为如果某张图片被修改,则相应的图片需要从新复制一次。何况

有时候资源文件的数量相当庞大。而我却有办法无须复制就可以共享同一个‘资源文件’

所以方案二可以被否决。

方案三:

您可能会说:“axlge你是猪头啊。你不晓得使用str_replace或者preg_replace函数进行路径转化吗?”

是的,我晓得。但我不认为“读取文件不说,还要进行‘模式匹配’”是一件值得去做的事情。简单的说

,我反对使用PHP中的任何‘replace’函数应用于模板引擎中。

所以方案三可以被否决。

最后您终于忍无可忍,冒火了:“我靠,说了半天我道是想问问:你何苦要求要在PHP和html中都能预览

到图片呢?”

那是因为市面上已知的模板引擎中,其模板文件在浏览器中打开的时候,都相当的丑陋。要么不干不净,

长满麻子;要么破破烂烂,衣观不整(例如图片无法显示)。

其实这个问题难倒过无数英雄好汉。我以前也写过一则文章,来解决这个问题。文章标题叫《给文件夹加

上$符号》。套用这篇文章的思想,我们可以这样来解决这个难题,那就是给‘assets’文件夹前面

加上一个“$”符号。

换言之,就是使用“$assets”代替原来的“assets”作为文件夹的名字。

现在,为了理解这样做的作用,让我们暂时把注意力和视线放到美工身上。假设小美设计了一个

index.htm页面,该页面包含一幅logo图片。那么这个logo图片的路径为“$assets/images/logo.gif”

其相应的html为:

src="$assets/images/logo.gif">。显然在index.htm中能够正常显示图片。

下面再把视线转移到PHP程序员上面来。假设小程在index.php中调用index.htm文件,在include之前,定

义一个PHP变量,名字也叫‘$assets’.代码大体如下:

$assets='view/default/$assets';//这里使用单引号,防止后一个$assets被PHP当成变量。

include 'view/default/index.htm';

...

?>

当执行上面的代码后,index.php生成的html变成了这样:

...logo.gif...

因为等效的PHP代码如下:

$assets='view/default/$assets';

echo<<< EOT

logo.gif

EOT;

...

?>

上面的第三个$assets与第一个$assets同名,所以直接就被替换掉了。

前提当然是index.htm中使用了‘heredoc’。

这样以来,图片的显示问题就被巧妙的解决了。无论是在index.php中还是在index.htm中都能够顺利的

显示图片。

同理,其他javascript,js,css,swf文件也能够正常运行或显示。一切只需要“一个$符号+一个heredoc”

另外一个问题就是html文件显示的时候“干不干净净”的问题。因为index.htm中使用了heredoc,所以有

php符号"echo<<”注释符号隐藏它。这样就显得干净了。在预览的时候,

html显示的就是其‘原貌’。

最后一个问题就是:“预览时,要求页面之间的链接关系可以看到,就象一个不懂程序的设计者做的网站

,全是静态页面,但这些静态页面之间的关系是清晰的”

例如:index.htm里有个超级连接,连接到register.htm.其html代码如下:

href="register.htm">注册

。这样一来就能够满足上面的要求。

但PHP这边该怎么办呢?假设存在一个处理注册的PHP文件,名叫“register.php”.那么index.php如何超

级连接到register.php上面呢?

这个其实很简单,可以在PHP中输出一段javascript,让浏览器自动把超级连接修改一下就可以了。

这就是全部。如果文字叙述不能够让你理解,您可以参考后面附加的演示文挡,那么一切都会显得很简单

第三回 要简单还是要复杂,这不是问题

有人说,在模板文件中嵌入PHP代码,这对于美工人员来说‘太复杂’了。即使我上面介绍的资源模板已

经为美工人员考虑的比较周到了,但还是会有一部分人心里会觉得不舒服。

我虽然是仁慈的,但‘现实’却是残酷的,这句话的意思是说:不使用循环语句,你将无法批量输出。你

一定会表示同意。但你依然会争辩说:“为什么不可以在html文件中把批量输出的部分用一个变量来代替

,然后在php中为这个变量赋值呢?例如一个表格的填充,在PHP文件中生成表格不就得了”。

你当然可以那样做,但你却违背了“可预先预览”的原则。表格的字段名称最好是在html中能够直接显示

出来,以便能够更加直观的反映网页的输出目标和意图。

所以请你不要介意在html文件中插入的少许控制流程的PHP代码。

但基于MVC的要求,html文件中不应该存在数据分析和处理的代码(例如连接数据库),换言之html模板文

件只负责“显示逻辑”,而不要管其他任何事情。当然在简单的应用中,你可以使用‘simple

view’,

里面的PHP代码就最少,往往只有一个'heredoc'。

诚如‘小员’所说:“PHP最好的模板语言就是PHP本身”。而‘PHP资源模板’可以说是很好的贯彻了这

个思想。不但如此,更是巧妙的实现了“模板引擎四项原则”,可以说是‘前无古人,后无来者。念天地

之悠悠,独苍然而泣下’——不要误会,那是‘高兴的眼泪’。

所以不管是简单还是复杂,PHP资源模板都是最棒的,它就是传说中的‘模板终结者’,“只要有了它,

你的一生都会改变,在你使用它之前,我要提醒你,尘世间的任何其他模板,你都无须再有半点留恋。”

“曾经有一份珍贵的模板摆在我的面前,我没有珍惜;直到别人都在用了,我才后悔莫及!

如果上天能再给我一次机会,我会对这个模板说三个字--我用你。如果要问我用多久,我希望是

这个模板非常的好,基本上没有什么毛病。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> <title>{longshao_webtitle}</title> <meta name="keywords" content="{webkeywords}" /> <meta name="description" content="{webdescription}" /> <link href="http://www.duncuji.com/blog/dw40c.css" rel="stylesheet" type="text/css" /> </head> <body> <SCRIPT language=javascript src="http://www.duncuji.com/blog/"></SCRIPT> <div class="dw40c3_1" style="height:22px;line-height:22px;text-align:right;padding-right:10px">设为主页 | 加入收藏 | <a href="http://www.duncuji.com/blog/sitemap.html">网站地图</a></div> <div class="dw40c1"><strong>{webtitle}</strong></div> <div class="dw40c3"><ul><li><a href="http://www.duncuji.com/blog">镦粗机首页</a></li><#longshao:global_fenlei_daohang#></ul></div> <div class="width mt10"> <div id="right"> <div class="border" id="index_hot"> <div class="subject_bg"> <div class="subject_title">博客最新文章</div> </div> <div class="m10"> <dl class="all_list"> <#longshao:global_zuixin_artlist#> </dl> </div> </div> </div> <div id="left"> <!--loop begin--> <#longshao:index_fenlei_artlist#> <!--loop End--> </div> <!--Left Over--> </div> <div class="border mt10 width"> <div class="subject_bg"> <div class="subject_title03">友情链接</div> </div> <div class="m10"> <div id="con_four_1"> <dl class="index_link"> <#longshao:index_link#> </dl> </div> </div> </div> <div class="width" id="foot">Copyright © 2000 - 2013 <a href="http://www.duncuji.com/blog/">{longshao_webtitle}</a>. All Rights Reserved</div> </body> </html> 大家可以去http://www.duncuji.com/blog/自己去看效果、。
海纳个人博客系统(HituxBlog)是海纳网络工作室(Hitux.com)专业为个人建站而开发的一款网站程序。该系统采用最流行的ASP+ACCESS进行搭建,页面使用DIV+CSS进行编写,全面兼容时下IE、FireFox、Chrome等主流浏览器。系统内置多达30款主题及精美相册,后台一键切换。前台所有内容均可以在后台进行修改删除等操作。   通过该系统建立您的博客或者是个人网站将变得轻而易举。不需要具备多么专业的网页设计知识,不需要对程序有多熟悉,仅仅下载海纳个人博客的源码上传到您申请的空间里,即生成了您的网站。接下来您要做的只是对网站的更新,写一篇文章,或是上传一张图片。将更多的精力用在宣传您的网站上,而不是建立网站。21世纪人人上网,人人有网站的时代,您不再无助,HituxBlog愿助您一臂之力,携手共进! 系统无与伦比的五大特色: 1、页面设计够简单,拒绝花俏; 2、便捷后台,管理前台所有内容; 3、页面全静态化,易优化且高效; 4、内置多达30款主题,自由切换; 5、相册展示模式,美伦美奂。 -------------------------安 全 建 议------------------------------ 后台管理地址:http://你的网站域名/AdminCool/login.asp 用户名:admin 密码:admin 后台文件夹名:AdminCool 数据库存放位置:DatabaseX 演示地址:http://www.ququnang.com/ 提醒:为确保网站安全,我们建议: 1、更改默认的后台用户名和密码; 2、更改默认的后台文件夹名admincool,直接修改根目录下的文件夹名称即可; 3、更改默认的数据库文件夹DatabaseX及数据库名称,请确保inc文件夹下的数据库连接文件conn.asp内也作相应修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值