Xoops开发者

1、编码规范:
在Xoops的开发中代码结束必须包含结束标记"?>"
缩进要用四个空格, 不要使用Tab键。
每行不要超过80个字符, 稍微超过也没事, 如120个。
行结束符一换行符结束, 行的结尾不要包含多余的空格。

2、命名规范:
XOOPS核心中所有的类和函数命名必须以 Xoops 作为前缀。
函数名称首字母小写下列情况用 "_" 隔开而不是驼峰式写法
核心函数必须以 xoops_ 为前缀
框架以及其它类库必须以 xoops_[框架和类库标记符]_为前缀
类名字要用驼峰式写法
XOOPS核心中所有的变量定义必须以 $xoops 为前缀, 并且采用驼峰式写法。
私有变量或者局部变量也要用驼峰式写法
第三方应用程序, 包括模块, 不要以 Xoops_ 作为前缀, 但是要有统一的标示前缀
块中类的命名必须以 [模块标记符, 通常为模块目录名称] 作为前缀如:NewbbPost。
模块中函数命名必须以 [模块标记符]_作为前缀如:newbb_getPostCount()
模块中变量命名必须以 $[模块标记符] 作为前缀, 如:$newbbPostCount

3、应用程序接口(API)
当程序开发人员创建一个应用程序接口时,如果使用合成词来定义,使用下划线来隔开,而不是使用驼峰式写法.如果需要使用一个字符串,通常是采用小写字面,最好定义一个常量去使用.

4、类
系统, 内核以及框架中类的命名是带有Xoops的, 如 XoopsUser, XoopsCaptcha. 模块中类命名是以[模块标识符]开头,如 NewbbPost

5、接口
接口类的命名规则与其他类的命名规则类似,必须以单词"Interface"结尾如: XoopsLogger_Interface

6、文件命名
对于所有文件,只有字母、数字、下划线和短划线("-")可以使用,不允许使用空格和其他特殊字符.
只要是包含有PHP代码的文件都必须以".php"为扩展名.
文件名称必须为小写.

7、目录命名
对于所有目录,只有字母、数字、下划线和短划线("-")可以使用,不允许使用空格和其他特殊字符.
目录名称必须为小写.

8、函数与方法命名
内核, 系统模块中函数的命名遵循 xoops_doSomething([...])格式.
框架中函数的命名以 xoops_[小写标识符]_ 作为前缀, 如:xoops_pear_doSomething([...]).
模块中函数的命名以 [小写模块标识符]_ 作为前缀, 如 newbb_getTopic([...]).
* 函数名只能包含字母,数字字符和下划线,虽然允许使用数字,但并不提倡.
* 函数名必须以小写字母开始.
* 为增强代码的可读性,允许命名一定程度的详细和冗长.
* 对于面向对象编程,对象的存取器总是以"get"或"set"为前缀.
* Class methods that are declared as protected or private are encouraged to follow same style as public methods although it is desired by some external frameworks to begin with a single underscore, i.e. without leading single underscore.
* 本规范不允许有全局范围的函数(即游离于对象之外的函数),这些函数应该包装进一个静态类.
* 在一个类中声明静态方法和变量时要用 "static" 不要用 "private"反之亦然,如果使用 "final" 则这个方法将不能扩展.

9、参数
使用 "NULL" 代替默认值 "FALSE", 如:
public function foo($required, $optional = NULL)
当 $optional 没有或不需要指定一个特定的默认值.
但是, 如果可选参数是一个布尔值, 其默认的逻辑为"TRUE"或者"FALSE", 可以使用"TRUE"或者"FALSE".

10、变量
* 系统全局变量必须以 $xoops 为前缀,如 $xoopsConfig
* 模块全局变量必须以 $[小写模块标记符]为前缀, 并且遵循驼峰式写法, 如 $newbbPostCounter
* 第三方框架类库中的变量定义
* 变量名只能包含字母和数字字符,也允许使用下划线和数字但不提倡的.
* 在类中声明为public的成员变量则不允许使用下划线.
* 对于声明为private或protected的类成员变量,命名规范与成员变量一样,即变量名不必使用一个下划线开头.
* 函数命名,变量命名必须以小写字母开始,而之后的单词,遵循首字母大写的驼峰写法(camelCaps).
* 为了增强可读性,变量命名同样需要一定程度的详细和冗长,并且要有实际意义。类似于$i、$n这样的变量命名,除了用于较少代码的循环语句,在其他情况下是不允许的。如果循环语句超过20行代码,那么用于循环的索引变量也应该使用有意义的名字.

11、常量
variables
系统常量以 XOOPS_ 做为前缀,如 XOOPS_URL
框架常量以 XOOPS_[标记符]_ 做为前缀 如 XOOPS_PEAR_CONSTANT
模块中常量以 [模块标记符]_ 做为前缀如 NEWBB_CONSTANT

12、语言常量规范
必须以下划线开头,如: _XOOPS_LANGUAGE_CONSTANT, _NEWBB_LANGUAGE_CONSTANT
* 常量名允许使用字母和数字字符,与函数命名和变量命名等不同的是,他也允许使用下划线,对数字的使用也没有限制.
* 常量的所有字母都必须大写.
* 为了增强可读性, 单词之前以下划线分开. 如,
"XOOPS_EMBED_SUPPRESS_EMBED_EXCEPTION" 不要写成 "XOOPS_EMBED_SUPPRESSEMBEDEXCEPTION".
* 常量必须使用const指示符定义为类成员,在全局范围使用define定义常量虽然允许,但也不提倡.

13、布尔值与NULL
如同PHP手册中所述, XOOPS同样使用大写字母来编写

14、模块模板名称定义规范
字符串如果没有变量, 必须以用单引号包含。 当有变量时推荐"Hello {$name}, welcome back!";连接字符串时要用"."符号前后要有空格, 数组的索引不允许使用负数, 当使用关联定义数组时, 把语句拆分成多行。

15、类的声明
/**
* 类说明的注释块
* 一个PHP文件只允许有一个类
* 一个类可以放置其他的代码, 但不提倡, 对于这种情况, 必须使用2个空格, 把类代码和其他代码分开
*/
class XoopsClass{
// 类的内部代码
// 必须缩进4个空格
}
禁止使用全局函数

注释

文件中的文档块

任何包含PHP代码的文件都必须在其顶部包含文档块,并至少包含以下php Documentor标记:

/**
* 关于本文件的简要说明
*
* 关于本文件的详细描述(如果有的话)...
*
* 许可信息
*
* You may not change or alter any portion of this comment or credits
* of supporting developers from this source code or any supporting source code
* which is considered copyrighted (c) material of the original comment or credit authors.
*
* @copyright The XOOPS Project http://sourceforge.net/projects/xoops/
* @license http://www.fsf.org/copyleft/gpl.html GNU public license
* @author 作者名称 <author email, or website>
* @version $Id$
* @since File available since Release 3.0.0
*/

[编辑]
类中的文档块

每个类级别的文档块都必须至少包含以下php Documentor标记:

/**
* 类的简单说明
*
* 类的详细说明 (如果有的话)...
*
* @copyright The XOOPS Project http://sourceforge.net/projects/xoops/
* @license http://www.fsf.org/copyleft/gpl.html GNU public license
* @author Author Name <author email, or website>
* @version $Id$
* @since File available since Release 3.0.0
*/

[编辑]
函数中的文档块

每个函数,包括对象方法,都必须包含至少下列文档块:

* 函数功能描述
* 所有的参数
* 所有可能返回的值

/**
* 关于函数的说明
*
* @param Place $where Where something interesting takes place
* @param integer $repeat How many times something interesting should happen
* @return Status
*/
public function xoops_doSomethingInteresting(Place $where, $repeat = 1)
{
// implementation...
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值