时间:2021-07-01 10:21:17 帮助过:24人阅读
前言
关于开发标准这块,可以说一直都是风格迥异,各家都有各家的玩法,民间更是个人玩个人的。目前我们国内比较出名的几个框架(Yii,Laravel) 都已经支持Composer并且加入了PHP-FIG(php框架程序组)。
其中Composer的自动加载就支持PHP-FIG指定的PSR-0 和 PSR-4 规范来实现自动加载机制,并且Composer推荐使用PSR-4
PHP-FIG
这是一个自愿非正式的机构,但是就目前对我们的影响来看,可能都已经默认为一个公信组织了,的的确确制定了不少非常好的规范
目前从官网看,已经投票( http://www.php-fig.org/psr/ )通过的有7个大的规范了
PSR-0 自动加载规范 ( 官方已废弃,主要是php5.3以前没有命名空间 )
PSR-1 编码规范
PSR-2 编码风格推荐
PSR-3 日志接口
PSR-4 改进的自动加载规范( 官方推荐 ,规范更简洁调理清晰了)
PSR-6 缓存接口
PSR-7 HTTP消息接口
实例
- <?php
- 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设计模式一之命名空间、自动加载类、PSR-0编码规范
PHP规范之PSR规范
PHP面向对象PSR-0规范详解
以上就是PHP符合PSR编程规范的实例的详细内容,更多请关注Gxl网其它相关文章!