PHP Document 注释标记及规范 && PHP命名规范
注释标记
@access
- 使用范围:class,function,var,define,module
- 该标记用于指明关键字的存取权限:private、public或proteced
@author
- 指明作者
@copyright
- 使用范围:class,function,var,define,module,use
- 指明版权信息
@deprecated
- 使用范围:class,function,var,define,module,constent,global,include
- 指明不用或者废弃的关键字
@example
- 该标记用于解析一段文件内容,并将他们高亮显示。Phpdoc会试图从该标记给的文件路径中读取文件内容
@const
- 使用范围:define
- 用来指明php中define的常量
@final
- 使用范围:class,function,var
- 指明关键字是一个最终的类、方法、属性,禁止派生、修改。
@filesource
- 和example类似,只不过该标记将直接读取当前解析的php文件的内容并显示。
@global
- 指明在此函数中引用的全局变量
@ingore
- 用于在文档中忽略指定的关键字
@license
- 相当于html标签中的<a>,首先是URL,接着是要显示的内容
- 例如<a href=”http://www.baidu.com”>百度</a>
- 可以写作 @license http://www.baidu.com 百度
@link
- 类似于license
- 但还可以通过link指到文档中的任何一个关键字
@name
- 为关键字指定一个别名。
@package
- 使用范围:页面级别的-> define,function,include
- 类级别的->class,var,methods
- 用于逻辑上将一个或几个关键字分到一组。
@abstrcut
- 说明当前类是一个抽象类
@param
- 指明一个函数的参数
@return
- 指明一个方法或函数的返回指
@static
- 指明关建字是静态的。
@var
- 指明变量类型
@version
- 指明版本信息
@todo
- 指明应该改进或没有实现的地方
@throws
- 指明此函数可能抛出的错误异常,极其发生的情况
- 普通的文档标记标记必须在每行的开头以@标记,除此之外,还有一种标记叫做inline tag,用{@}表示,具体包括以下几种:
{@link}
- 用法同@link
{@source}
- 显示一段函数或方法的内容
注释规范
a.注释必须是
/**
* 注释内容
*/
的形式
b.对于引用了全局变量的函数,必须使用glboal标记。
c.对于变量,必须用var标记其类型(int,string,bool…)
d.函数必须通过param和return标记指明其参数和返回值
e.对于出现两次或两次以上的关键字,要通过ingore忽略掉多余的,只保留一个即可
f.调用了其他函数或类的地方,要使用link或其他标记链接到相应的部分,便于文档的阅读。
g.必要的地方使用非文档性注释,提高代码易读性。
h.描述性内容尽量简明扼要,尽可能使用短语而非句子。
i.全局变量,静态变量和常量必须用相应标记说明
示例
<?php
/**
* Sample File 2, phpDocumentor Quickstart
*
* This file demonstrates the rich information that can be included in
* in-code documentation through DocBlocks and tags.
* @author Greg Beaver <cellog@php.net>
* @version 1.0
* @package sample
*/ //PHP code /**
* A sample function docblock
* @global string document the fact that this function uses $_myvar
* @staticvar integer $staticvar this is actually what is returned
* @param string $param1 name to declare
* @param string $param2 value of the name
* @return integer
*/
function firstFunc($param1, $param2 = 'optional') {
static $staticvar = 7;
global $_myvar;
return $staticvar;
}
?>
YII框架的注释范例:
/**
* CHttpSession提供了session级的数据管理和相关配置
*
* 开启session 调用 {@link open()};
* 完成和发送session数据,调用 {@link close()};
* 清除session,调用{@link destroy()}.
*
*
* CHttpSession can be used like an array to set and get session data. For example,
* <pre>
* $session=new CHttpSession;
* $session->open();
* $value1=$session['name1']; // get session variable 'name1'
* $value2=$session['name2']; // get session variable 'name2'
* foreach($session as $name=>$value) // traverse all session variables
* $session['name3']=$value3; // set session variable 'name3'
* </pre>
*
* The following configurations are available for session:
* <ul>
* <li>{@link setSessionID sessionID};</li>
* <li>{@link setSessionName sessionName};</li>
* <li>{@link autoStart};</li>
* <li>{@link setSavePath savePath};</li>
* <li>{@link setCookieParams cookieParams};</li>
* <li>{@link setGCProbability gcProbability};</li>
* <li>{@link setCookieMode cookieMode};</li>
* <li>{@link setUseTransparentSessionID useTransparentSessionID};</li>
* <li>{@link setTimeout timeout}.</li>
* </ul>
* See the corresponding setter and getter documentation for more information.
* Note, these properties must be set before the session is started.
*
* CHttpSession can be extended to support customized session storage.
* Override {@link openSession}, {@link closeSession}, {@link readSession},
* {@link writeSession}, {@link destroySession} and {@link gcSession}
* and set {@link useCustomStorage} to true.
* Then, the session data will be stored and retrieved using the above methods.
*
* CHttpSession is a Web application component that can be accessed via
* {@link CWebApplication::getSession()}.
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @version $Id: CHttpSession.php 2497 2010-09-23 13:28:52Z mdomba $
* @package system.web
* @since 1.0
*/
class CHttpSession implements IteratorAggregate, ArrayAccess, Countable { /**
* @var boolean whether the session should be automatically started when the session application component is initialized, defaults to true.
*/
public $autoStart = true;
private static $_instance = NULL; /**
* Initializes the application component.
* This method is required by IApplicationComponent and is invoked by application.
*/
public function init() {
if ($this->autoStart) {
$this->open();
} register_shutdown_function(array($this, 'close'));
} /**
* Returns a value indicating whether to use custom session storage.
* This method should be overriden to return true if custom session storage handler should be used.
* If returning true, make sure the methods {@link openSession}, {@link closeSession}, {@link readSession},
* {@link writeSession}, {@link destroySession}, and {@link gcSession} are overridden in child
* class, because they will be used as the callback handlers.
* The default implementation always return false.
* @return boolean whether to use custom storage.
*/
public function getUseCustomStorage() {
return false;
} /**
* Session open handler.
* This method should be overridden if {@link useCustomStorage} is set true.
* Do not call this method directly.
* @param string $savePath session save path
* @param string $sessionName session name
* @return boolean whether session is opened successfully
*/
public function openSession($savePath, $sessionName) {
return true;
} // 截取了一部分 }
PHP命名规范
先了解下
1、什么是 驼峰命名法? 百度百科
2、大驼峰 与 小驼峰 的区别 ? 百度百科
1.类名:大驼峰命名法
2.类属性:
public、protected类型的,小驼峰命名法;
private类型的,下划线(_)开头,小驼峰命名法;
3.类方法:
public、protected类型的,小驼峰命名法;
private类型的,下划线(_)开头,小驼峰命名法;
4.类方法参数:小驼峰命名法;
5.函数:采用C GNU的惯例,所有的字母使用小写字母,使用下划线(_)分割单词;
6.函数参数:小驼峰命名法;
例如:
function some_bloody_function($userId, $userName) {
}
7.常量:
所有字母都大写,使用下划线(_)分割单词;
PHP Document 注释标记及规范 && PHP命名规范的更多相关文章
- python基础(代码规范、命名规范、代码缩进、注释)
代码规范 PEP8(python增强建议书第8版) 每个import语句只导入一个模块 不要在行尾添加分号";" 建议每行不超过80个字符 超出部分可以用()来进行换行例如: ...
- 前端开发规范:命名规范、html 规范、css 规范、js 规范
上周小组的培训内容是代码可读性艺术,主要分享如何命名.如何优化代码排版,如何写好的注释.我们都知道写出优雅的代码是成为大牛的必经之路. 下面感谢一位前端开发小伙伴总结的前端开发规范,通过学习相关开发规 ...
- 前端开发规范:命名规范、HTML 规范、CSS 规范、JavaScript 规范
一个好的程序员肯定是要能书写可维护的代码,而不是一次性的代码,怎么能让团队当中其他人甚至一段时间时候你再看你某个时候写的代码也能看懂呢,这就需要规范你的代码了.我是有一点强迫症的人,上周我们后端给我了 ...
- 前端开发规范之命名规范、html规范、css规范、js规范
在学习编程的时候,每次看到那些整齐规范的代码,心里顿时对这个程序员表示点点好感,有时,比如看到自己和朋友写的代码时,那阅读起来就是苦不堪言,所以,一些基本的开发规范是必须的,是为了自己方便阅读代码,也 ...
- 浅谈Android编码规范及命名规范
前言: 目前工作负责两个医疗APP项目的开发,同时使用LeanCloud进行云端配合开发,完全单挑. 现大框架已经完成,正在进行细节模块上的开发 抽空总结一下Android项目的开发规范:1.编码规范 ...
- python代码规范和命名规范
一.简明概述 1.编码 如无特殊情况, 文件一律使用 UTF-8 编码 如无特殊情况, 文件头部必须加入#-*-coding:utf-8-*-标识 2.代码格式 2.1.缩进 统一使用 4 个空格进行 ...
- iOS代码规范之命名规范
技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/luohanchenyilong 命名规范类命名 首字母大写,之 ...
- C#中的代码书写规范以及命名规范
C#代码书写规则: 1. 尽量使用接口,然后使用类实现接口,以提高程序的灵活性. 2.一行不要超过80个字符 3.尽量不要手动更改计算机生成的代码 4.关键的语句写注释 5.建议局部变量在最接近使用它 ...
- CSS书写规范、命名规范、网易CSS框架NEC
网易CSS框架NEC:http://nec.netease.com/ NEC框架的CSS规范: CSS规范 - 分类方法 CSS规范 - 命名规则 CSS规范 - 代码格式 CSS规范 - 优化方案 ...
随机推荐
- JavaScript,php文件上传简单实现
非ajax,非iframe,最原始使用file控件的文件上传,记录过程备忘.(同步,页面刷新) 实现目标,能够将文件上传到指定位置. 客户端用input的file控件: <form action ...
- 用SugarORM快速开发需要同步和保存大量数据的Android互联网客户端
最近开发的一个项目主要有两个特点,这两点也是在项目开发前需要着重去规划解决方案的: 需要和Rest服务端请求大量的数据 同时这些数据本地也要保存到sqlite数据库 对于第一点,目前的Volley.G ...
- python3 入门 (一) 基础语法
1.编码问题 默认情况下,Python 3源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 也可以为源码文件指定不同的编码,在文件头部加上: # coding=gbk 2.关键字 ...
- 你需要管理员权限才能删除文件夹及服务器C盘不及批处理
Windows 7系统,管理员权限设置方法 一.选择文件夹或文件所有者 我们用鼠标右键点击要操作的文件或文件夹 - 属性: 在出现的文件夹属性窗口,我们用鼠标左键点击:安全: 我们用鼠标左键点击:高级 ...
- form表单用ge方式提交时ie显示中文参数乱码
有网友说 通过给form表单添加accept-charset="gb2312"和 onsubmit="document.charset='gb2312'" 但这 ...
- 使用TinkPHP实现品字形布局
一.后台管理模版 后台管理模版通常使用frameset/iframe来布局.例如: <!DOCTYPE html> <html> <head> <title& ...
- Javascript基础系列之(五)关键字和保留字 (keyword)
关键字不可以作为变量名或者函数名 break case catch continue default delete do else finally for function if in instanc ...
- GIthub的小技巧
目录: 一.快捷键一览表 二.快速搜索项目文件功能 三.使用Github Pages搭建项目网站 一.快捷键一览表 具体操作: 在各个页面下按下shift+/也就是?都可以打开键盘快捷 ...
- java web名词解释
来源于:http://www.cnblogs.com/yxnchinahlj/archive/2012/02/24/2366110.html PO(persistant object) 持久对象 在o ...
- base-css
html{ min-width: 320px;}body{ min-width: 320px; overflow-x:hidden }@media print { * { background: tr ...