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文件,以避免新建目录被索引的问题。

标签:
0
投稿

猜你喜欢

  • 守住你的网站 防御DDoS攻击实用指南

    2010-10-20 20:04:00
  • PayPal在线支付-网站付款标准版,HTML

    2011-09-21 13:17:55
  • dedecms5.6 arclist分页的实现方法

    2010-12-08 16:25:00
  • 链接交换是谁在搅局

    2009-10-31 01:26:00
  • 帝国网站管理系统CMS 6.6 正式版本开源发布

    2011-04-11 19:02:00
  • 网站开发不要迷信生成静态页

    2007-10-21 08:59:00
  • Linux服务器部署JavaWeb项目完整教程

    2023-06-12 19:44:24
  • 网络投票做弊工具和方法介绍

    2008-07-23 13:18:00
  • 决定性的战略 进行目标导向性的搜索优化

    2009-01-14 11:55:00
  • 魔兽世界元气大伤终过关 星际2再渡审批难关

    2010-03-04 13:13:00
  • inotify-tools+rsync实时同步文件的配置方法

    2021-05-08 19:59:27
  • Linux系统 为命令配置别名的方法

    2023-10-13 00:20:15
  • 网上安家步步高;ADSL建站初探

    2010-04-14 18:43:00
  • 我是如何用软文让自己的网站日ip5000

    2008-05-09 10:35:00
  • 别走进误区 谈谈网站内容以及高质量外链

    2009-01-23 10:27:00
  • IIS 7 Web服务器管理介绍

    2009-01-06 16:55:00
  • 谈谈网赚行业里的一些潜规则

    2010-05-10 18:56:00
  • 网站推广 你所不知道的有效方法

    2010-03-03 22:01:00
  • Linux中让Tomcat5自动启动服务脚本

    2010-05-08 18:28:00
  • Xshell5连接虚拟机中的Linux的方法以及失败原因解决

    2023-01-14 05:15:59
  • asp之家 网站运营 m.aspxhome.com