PHP编程:PHP.MVC的模板标签体系(三)
告诉你了一个方式,但是缺少努力这一环节,那也是白搭。 PHP.MVC标签语法在根基的引见以后,咱们如今就能够来看看模板标签体系的语法.
在看详细的标签之前,咱们应当界说甚么作为咱们的标签.为了写一个标签,咱们利用<@ ... @>标签结点.左标签(<@)和右标签(@>)是默许的标签.假如需要的话,这些标签咱们可以在phpmvc-config.xml中从头界说.
模板标签体系如今撑持以下3种标签:包括指令,声明和表达式.咱们如今来看看这些指令.
包括指令
包括指令能让咱们将内容分隔为很多模块,好比:页眉,页脚或内容.包括的页面可所以HTML,或其他标签模板页.据个例子,上面的包括指令能用来包括一个页眉:
<@ include 'pageHeader.ssp' @>
一个包括指令在模板高低文种的例子:
<html>
<head>
...
</head>
<body>
<center>
<table class='pageLayoutTable'>
<tr>
<td class='pageHeader'>
<@ include 'pageHeader.ssp' @>
</td>
</tr>
<!-- PAGE CONTENTS -->
...
<!-- PAGE FOOTER -->
...
</table>
...
</center>
</body>
</html>
在这里例子种pageHeader.ssp页眉文件内容将被拔出到主页面受骗这个页面被发送到用户阅读器上.这个页眉文件包括了一个表达式:
<!-- Page Header -->
<span>
<@ =viewConfig.getAppTitle @>
</span>
这个表达式将被编译而且将在运转时输入为:
<!-- Page Header -->
<span>
Flash Jacks' Sleek Tab Site
</span>
声明
声明答应咱们在模板种声明一个页面级其余变量,或乃至其他包括页面.一个声明看起来像以下代码:
<@ salesAreaID = "Central District" @>
咱们可以在模板文件中利用声明:
<@ saleMonth = data.getValueBean('SALE_MONTH') @>
<@ saleTitle = data.getValueBean('SALE_TITLE') @>
<@ dealHeading = data.getValueBean('DEAL_HEADING') @>
<@ salesAreaID = "Central District" @>
<html>
<head>
<link rel='stylesheet' type='text/css' href="./style/pageStyles.css"/>
<title>
...
</title>
</head>
<body>
...
</body>
</html>
在这里例子中,咱们声了然一些页变量.前3个变量已在咱们创立的Action类中的ActionObject中被赋值:data.getValueBean('SALE_MONTH').第4个变量被赋了一个字符串值:salesAreaID = "Central District".
声明的变量如今可以在页面中利用了:
<!-- start_page_contents_include -->
...
<!-- Content section heading -->
<h4><@=dealHeading @> <@=saleMonth @></h4>
<center>
Clearance deals
<table class='productsTable'>
...
</table>
</center>
<center>
Todays specials
<table class='productsTable'>
...
</table>
</center>
...
<!-- end_page_contents_include -->
这些页变量将被输入为:
<!-- Content section heading -->
<h4>Jack's Super Deals for : May 2010</h4>
...
...
表达式
表达式标签答应咱们在模板页中履行表达式.表达式的了局将被包括进模板页.以下表达式将被用来显示一个复杂的字符串(salesAreaID),也能够找回框架设置装备摆设类的属性:
<@ =salesAreaID @>
<@ =viewConfig.contactInfo @>
为了利用这些表达式,咱们要在之前声明过:
<@ salesAreaID = "Central District" @>
或在ViewResourcesConfig对象(viewConfig)的属性在view-resources结点中声明过:
<view-resources
appTitle = "Flash Jacks' Sleek Tab Site"
contactInfo = "flash.jack@jackshost.com"
...
</view-resources>
当利用表达式中的对象时,咱们可以写一个对象-办法(object-method)声明在尺度的PHP符号或点作风的符号:
The PhpMVC_Tags Object-Method Notation
PHP Stylesales = data->getSales
Dot Stylesales = data.getSales
With Method Paramsstaff = data.getValueBean("STAFF")
Retrieve Data Arrayproducts = data->getValueBean("PRODUCTS_ARRAY")
鄙人一个单位咱们将看到若何利用模板标签体系将这些联合在一同来构建页面.
另外要叮嘱各位的是,抵御诱惑,ASP/PHP/JSP/.NET的对比也许会让你无所适从,你也许学了一半PHP,又开始打C#的主意,或者有人说JAVA很强,这个时候的你绝对不能动摇,哪怕你真想学。 如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了, 我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。 使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的 我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。 你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。 开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。 小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。 Ps:以上纯属原创,如有雷同,纯属巧合 这些中手常用的知识,当你把我说的这些关键字都可以熟练运用的时候,你可以选择自己 我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。 曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ; 其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。 再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。 Ps:以上纯属原创,如有雷同,纯属巧合 我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。 其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。 Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81 写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。 对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
页:
[1]
2