PHP编码规范实例
| <?php | |
| /** | |
| * 符合psr-1,2的编程实例 | |
| * | |
| * @author 作者 描述 | |
| */ | |
| namespace Standard; // 顶部命名空间 | |
| // 空一行 | |
| use Test\TestClass;//use引入类 | |
| /** | |
| * 类描述 | |
| * | |
| * 类名必须大写开头驼峰. | |
| */ | |
| abstract class StandardExample // {}必须换行 | |
| { | |
| /** | |
| * 常量描述. | |
| * | |
| * @var string | |
| */ | |
| const THIS_IS_A_CONST = ''; // 常量全部大写下划线分割 | |
| /** | |
| * 属性描述. | |
| * | |
| * @var string | |
| */ | |
| public $nameTest = ''; // 属性名称建议开头小写驼峰 | |
| // 成员属性必须添加public(不能省略), private, protected修饰符 | |
| /** | |
| * 属性描述. | |
| * | |
| * @var string | |
| */ | |
| private $_privateNameTest = ''; // 类私有成员属性,【个人建议】下划线小写开头驼峰 | |
| /** | |
| * 构造函数. | |
| * | |
| * 构造函数描述 | |
| * | |
| * @param string $value 形参名称/描述 | |
| */ | |
| public function __construct($value = '')// 成员方法必须添加public(不能省略), private, protected修饰符 | |
| {// {}必须换行 | |
| $this->nameTest = new TestClass(); | |
| // 链式操作 | |
| $this->nameTest->functionOne() | |
| ->functionTwo() | |
| ->functionThree(); | |
| // 一段代码逻辑执行完毕 换行 | |
| // code... | |
| } | |
| /** | |
| * 成员方法名称. | |
| * | |
| * 成员方法描述 | |
| * | |
| * @param string $value 形参名称/描述 | |
| * | |
| * @return 返回值类型 返回值描述 | |
| * 返回值类型:string,array,object,mixed(多种,不确定的),void(无返回值) | |
| */ | |
| public function testFunction($value = '')// 成员方法必须小写开头驼峰 | |
| { | |
| // code... | |
| } | |
| /** | |
| * 成员方法名称. | |
| * | |
| * 成员方法描述 | |
| * | |
| * @param string $value 形参名称/描述 | |
| * | |
| * @return 返回值类型 返回值描述 | |
| */ | |
| private function _privateTestFunction($value = '')// 私有成员方法【个人建议】下划线小写开头驼峰 | |
| { | |
| // code... | |
| } | |
| /** | |
| * 成员方法名称. | |
| * | |
| * 成员方法描述 | |
| * | |
| * @param string $value 形参名称/描述 | |
| * | |
| * @return 返回值类型 返回值描述 | |
| */ | |
| public static function staticFunction($value = '')// static位于修饰符之后 | |
| { | |
| // code... | |
| } | |
| /** | |
| * 成员方法名称. | |
| * | |
| * 成员方法描述 | |
| * | |
| * @param string $value 形参名称/描述 | |
| * | |
| * @return 返回值类型 返回值描述 | |
| */ | |
| abstract public function abstractFunction($value = ''); // abstract位于修饰符之前 | |
| /** | |
| * 成员方法名称. | |
| * | |
| * 成员方法描述 | |
| * | |
| * @param string $value 形参名称/描述 | |
| * | |
| * @return 返回值类型 返回值描述 | |
| */ | |
| final public function finalFunction($value = '')// final位于修饰符之前 | |
| { | |
| // code... | |
| } | |
| /** | |
| * 成员方法名称. | |
| * | |
| * 成员方法描述 | |
| * | |
| * @param string $valueOne 形参名称/描述 | |
| * @param string $valueTwo 形参名称/描述 | |
| * @param string $valueThree 形参名称/描述 | |
| * @param string $valueFour 形参名称/描述 | |
| * @param string $valueFive 形参名称/描述 | |
| * @param string $valueSix 形参名称/描述 | |
| * | |
| * @return 返回值类型 返回值描述 | |
| */ | |
| public function tooLangFunction( | |
| $valueOne = '', // 变量命名可小写开头驼峰或者下划线命名,个人那习惯,据说下划线可读性好 | |
| $valueTwo = '', | |
| $valueThree = '', | |
| $valueFour = '', | |
| $valueFive = '', | |
| $valueSix = '')// 参数过多换行 | |
| { | |
| if ($valueOne === $valueTwo) {// 控制结构=>后加空格,同{一行,(右边和)左边不加空格 | |
| // code... | |
| } | |
| switch ($valueThree) { | |
| case 'value': | |
| // code... | |
| break; | |
| default: | |
| // code... | |
| break; | |
| } | |
| do { | |
| // code... | |
| } while ($valueFour <= 10); | |
| while ($valueFive <= 10) { | |
| // code... | |
| } | |
| for ($i = 0; $i < $valueSix; $i++) { | |
| // code... | |
| } | |
| } | |
| } |
PHP编码规范实例的更多相关文章
- Objective-C开发编码规范【转载】
概要 Objective-C是一门面向对象的动态编程语言,主要用于编写iOS和Mac应用程序.关于Objective-C的编码规范,苹果和谷歌都已经有很好的总结: Apple Coding Guide ...
- 【转】JavaScript 风格指南/编码规范(Airbnb公司版)
原文转自:http://blog.jobbole.com/79484/ Airbnb 是一家位于美国旧金山的公司,本文是其内部的 JavaScript 风格指南/编码规范,在 Github 上有 11 ...
- 资料推荐--Google Java编码规范
之前已经推荐过Google的Java编码规范英文版了: http://google-styleguide.googlecode.com/svn/trunk/javaguide.html 虽然这篇文章的 ...
- 【转】Airbnb React编码规范
Airbnb的编码规范是在业界非常流行的一套规范,而且它一直都在进化,推出最新技术的规范 原文:https://zhuanlan.zhihu.com/p/20616464 用更合理的方式书写React ...
- Python + OpenCV2 系列:3 - python 字符串,类,编码规范
首先,强烈推荐<<简明 Python 教程>> Swaroop, C. H. 著 沈洁元 译 其实,这本书里已经把python的最基本的用法,编码等等介绍的很好,这里把我用到的 ...
- Bootstrap编码规范
黄金定律 永远遵循同一套编码规范 -- 可以是这里列出的,也可以是你自己总结的.如果你发现本规范中有任何错误,敬请指正.通过 open an issue on GitHub为本规范添加或贡献内容. 不 ...
- iOS 注释的5要3不要和编码规范的26个方面
注释 代码注释,可以说是比代码本身更重要.这里有一些方法可以确保你写在代码中的注释是友好的: 不要重复阅读者已经知道的内容 能明确说明代码是做什么的注释对我们是没有帮助的. // If the col ...
- [iOS翻译]Cocoa编码规范
简介: 本文整理自Apple文档<Coding Guidelines for Cocoa>.这份文档原意是给Cocoa框架.插件及公共API开发者提供一些编码指导,实质上相当于Ap ...
- 网易前端JavaScript编码规范
在多年开发邮箱webmail过程中,网易邮箱前端团队积累了不少心得体会,我们开发了很多基础js库,实现了大量前端效果组件,开发了成熟的opoa框架以及api组件,在此向大家做一些分享.今天想先和大家聊 ...
随机推荐
- (中等) POJ 1703 Find them, Catch them,带权并查集。
Description The police office in Tadu City decides to say ends to the chaos, as launch actions to ro ...
- iOS开发——二级列表
原理很简单,一级菜单放在viewForHeaderInSection里面,加一个点击事件,然后判断它的二级菜单(cell)显不显示. 直接上代码吧! // // HeheTableViewContr ...
- MySQL远程登陆错误
远程连接 mySql数据库会提示10061.1045错误或 2003-Can’t connect to MySQL on ’192.168.1.2’(10061),这个原因是因为MySQL不准许远程连 ...
- DTCoreText
背景:使用DTCoreText实现epub阅读器的内容排版 基础准备:coretext,HTML+CSS渲染机制,epub文件格式 一:ios端epub实现:主要是两种,coretext,webvie ...
- jQuery源码学习(1):整体架构
整体架构 $().find().css().hide() 从jQuery的表达式可以看出两点: jQuery的构建方式 jQuery的调用方式 下面从这两方面来窥探jQuery的整体架构: 分析一:无 ...
- xamarin mac 基础知识 之 界面
有两种方式创建界面:代码和xaml
- 安卓主activity引用自定义的View——Android LayoutInflater原理分析
相信接触Android久一点的朋友对于LayoutInflater一定不会陌生,都会知道它主要是用于加载布局的.而刚接触Android的朋友可能对LayoutInflater不怎么熟悉,因为加载布局的 ...
- java 解析excel
2014年2月25日 14:24:48 解析excel方法 //首先是jar包下载,请自行百度 //代码 package cn.wuwenfu.excel; import java.io.File; ...
- 我的java信息
Java的运行环境版本: 1.7.0_07Java的运行环境供应商: Oracle CorporationJava供应商的URL: http://java.oracle.com/Java的安装路径: ...
- C++ 句柄类
一.容器与继承 在容器中保存有继承关系的对象时,如果定义成保存基类对象,则派生类将被切割,如果定义成保存派生类对象,则保存基类对象又成问题(基类对象将被强制转换成派生类对象,而派生类中定义的成员未被初 ...