PHPCMS开发文档里看到PHP编码规范(6)
来源:asp之家 发布时间:2009-08-18 11:17:00
6.2.书写规则
6.2.1. HTML
所有HTML标记参数赋值需使用双引号包含,例如,应当使用
<input type=”text” name=”test” value=”ok”>
而绝对不能使用
<input type=text name=test value=ok>
。
在任何情况下,产品中的模板文件必须采用手写HTML代码的方式,而绝对不能使用DreamWeaver、FrontPage等自动网页制作工具进行撰写或修改。
6.2.2. 变量
模板中使用的变量,依据作用和出现位置不同,分为几种方式:
l 逻辑体中,即被包围起来的部分,例如这种形式,其中的变量书写规范与PHP程序中完全一致;
开发者需要使用{}将变量括起来,以免出现模板编译错误,可能的情况如下:
l 变量前后含有中括号的或其他敏感字符的(包括但不限于“$”、“’”等),正确的写法为descriptionnew[{$buddy[buddyid]}];
l 数组的下标为变量的,正确的写法为{$extcredits[$creditstrans][title]};
l 其他变量十分复杂的情况。
6.2.3. 语言元素
6.2.4. 缩进
在phpcms的*.html模板文件中,由于具备逻辑结构,故不考虑任何HTML本身的缩进,所有缩进均意为着逻辑上的缩进结构。缩进采用TAB方式,不使用空格作为缩进符号,仅需适当断行即可。例如:
<!--{loop $articles $article}-->
<table cellspacing=”0” cellspadding=”0” border=”0”>
<tr><td>{$article[‘title’]}</tr></td>
</table>
<!--{/loop}-->
7. 文件与目录
7.1.文件命名
所有包含PHP代码的程序文件或半程序文件,应以小写.php作为扩展名,而不要使用.phtml、.php3、.inc、.class等作为扩展名。
普通程序
能够被URL直接调用的程序,例如list.php、index.php,直接使用程序名+.php的方式命名
函数库和类库程序
分别以小写.func.php和.class.php作为扩展名。函数库和类库程序只能被其他程序引用,而不能独立运行。其中不能包含任何流程性的、不属于任何函数或类的程序代码。
流程性程序
以小写.inc.php作为扩展名。只能被其他程序引用,而不能独立运行。其中不能包含任何函数或类代码的程序代码。
模板源文件
以小写.html作为扩展名。模板源文件按照phpcms模板编码规则进行编写,不是可以执行的程序,而只能被phpcms模板编译器所解析,放置于./templates/default或./templates下的其他模板目录下。
模板目标文件
模板文件被编译后自动生成的目标程序,以小写. php作为扩展名,存放于./data/templates目录下。
语言包文件
以小写.lang.php作为扩展名,只能存放模板或程序使用的语言包信息。
缓存文件
此类文件为系统自动生成,以cache_xxx.php、usergroup_xxx.php、style_xxx.php等类似形式命名,存放于./data/cache目录下。
7.2.目录命名
phpcms目录命名以前面《4.4命名原则》的约定为基本准则。在可能的情况下,多以复数形式出现,如./templates、./images等。
由于目录数量较少,因此目录命名大多是一些习惯和约定俗成,开发人员如需新建目录,应与项目组成员进行磋商,达成一致后方可实施。
7.3.空目录索引
请在所有不包含普通程序(即能够被URL直接调用的程序)的目录中放置一个1字节的index.htm文件,内容为一个空格。几乎除phpcms根目录以外,所有目录都属于这一类型,因此开发者需要在这些目录全部放入空index.htm文件,以避免当http服务器的Directory Listing打开时,服务器文件被索引和列表。
附件目录等敏感目录,要在程序中实现相应功能,当新建下级目录时,必须自动写入一个空的index.htm文件,以避免新建目录被索引的问题。


猜你喜欢
- Dedecms一直是很火的建站cms,主要得益于两大站长网的鼎力支持;不过,人火是非多,cms太火了同样会被别有用心的人盯上。我的网站一直在
- 准备工作先在VS2012上编译一个winform,代码如下:using System;using System.Windows.Forms;
- 新华网北京12月27日电一个名为“IE7攻击代码(Hack.Exploit.Script.JS.Agent.ic)”的恶意代码本周特别值得注
- 1、 激愤运用法通过主题的倡导,让大家一致产生赞同、鼓舞、荣耀等心态,或者揭露某事件让会员感觉到耻辱、鄙视‘讨厌的感觉,内容一定是简短完整的
- 一:导入模板方案1.将方案包中的文件、目录复制到你的站点根目录中,如JS、Temp目录(复制前,请做好站点的文件备份,以便以后恢复时使用)2
- 站长网今天接到一位站长紧急求助,说其所租用某著名IDC的一台服务器被关闭,连数据也不给转。经过站长网与其客服联系过后得知,其所在的服务器被查
- 用户组在linux 中每个用户必须属于一个组,而Linux下有三种组的概念,如下:文件所拥有者用户所在组其他组文件所有者: 就是文件的创造者
- 1 安装GIT$ sudo aptitude install git$ sudo aptitude install
- 忘掉静态的标语式广告吧。在线广告已经发展到了集成有视频、游戏、动态内容的迷你应用软件(widget)。人们非常喜欢widget,将它们整合在
- 前天收到淘宝点击时装美女掌柜的消息“淘宝网首页悄悄的改版了”。本次淘宝网改版将淘宝商城和支付宝等构架全面融合,整体资源在首页也得到了更加平衡
- 进程描述进程描述符(task_struct)用来描述进程的数据结构,可以理解为进程的属性。比如进程的状态、进程的标识(PID)等,都被封装在
- 北京时间11月9日早间消息,据国外媒体今日报道,Facebook计划发布一款XMPP(可扩展消息处理现场协议)界面,进入即时通讯领域。Fac
- 决定一个网站排名高低有很多种因素,而友情链接就是其中较为重要的一条。目前互联网上友情链接交换的平台如雨后春笋,这足以见得友情链接对于一个站长
- 7月17日, Unisys今天在业内率先发布了针对Transaction Processing Performance Council (事
- 打开dede/inc/inc_batchup.php找到"//删除数据库的内容"前面加//删除缩略图 if($arcRo
- 为了建设二级网站建设,我考察了多个开源和商业的虚拟主机和控制面板。主要察看了Linux下的。很多工具,例如开源的VHCS,商业的Plesk功
- 如果你的服务器apache还没有安装,那很简单,在编译apache时将mod_rewrite模块编译进去就可以,相关文档可以在http://
- 一、什么是数字证书 数字证书就是互联网通讯中标志通讯各方身份信息的一系列数据,提供了一种在Internet上验证您身份的方式,其作用类似于司
- 破解目标:破解一经过加密的Asp木马登陆密码。由于木马里没有版本说明,具体也不知道这木马叫什么名。破解思路:两种,用加密后的密码替换密文和利
- 在本周二召开的RSA国际安全会展上,微软公司发布了其新款身份信息管理软件,微软并表示他们正与德国政府合作研制一种电子身份证,这种电子身份证可