全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

PHP符合PSR编程规范的实例分享

前言

关于开发标准这块,可以说一直都是风格迥异,各家都有各家的玩法,民间更是个人玩个人的。目前我们国内比较出名的几个框架(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个大的规范了

  1. PSR-0 自动加载规范 ( 官方已废弃,主要是php5.3以前没有命名空间 )
  2. PSR-1 编码规范
  3. PSR-2 编码风格推荐
  4. PSR-3 日志接口
  5. PSR-4 改进的自动加载规范( 官方推荐 ,规范更简洁调理清晰了)
  6. PSR-6 缓存接口
  7. 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  # 编码规范  # psr规范  # 代码规范  # 浅析PHP开发规范  # PHP注释语法规范与命名规范详解篇  # 基于php编程规范(详解)  # thinkPHP5.0框架开发规范简介  # 培养自己的php编码规范  # 11个PHPer必须要了解的编程规范  # PHP编程风格规范分享  # PHP的PSR规范中文版  # php 注释规范  # PHP 代码规范小结  # 总结PHP代码规范、流程规范、git规范  # 返回值  # 下划线  # 换行  # 修饰符  # 自动加载  # 链式  # 都是  # 几个  # 都有  # 可以说  # 推荐使用  # 这是一个  # 非常好  # 这块  # 这篇文章  # 不确定  # 不加  # 来实现  # 官网  # 性好 


相关文章: 在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  XML的“混合内容”是什么 怎么用DTD或XSD定义  如何零成本快速生成个人自助网站?  网站图片在线制作软件,怎么在图片上做链接?  如何通过商城免费建站系统源码自定义网站主题?  建站主机如何选?性能与价格怎样平衡?  Swift开发中switch语句值绑定模式  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  建站主机类型有哪些?如何正确选型  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  建站之星云端配置指南:模板选择与SEO优化一键生成  如何在服务器上配置二级域名建站?  C++时间戳转换成日期时间的步骤和示例代码  微信小程序 input输入框控件详解及实例(多种示例)  网站制作企业,网站的banner和导航栏是指什么?  建站主机如何选?高性价比方案全解析  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  如何制作网站标识牌,动态网站如何制作(教程)?  如何零基础开发自助建站系统?完整教程解析  孙琪峥织梦建站教程如何优化数据库安全?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  建站主机核心功能解析:服务器选择与网站搭建流程指南  开源网站制作软件,开源网站什么意思?  建站之星导航如何优化提升用户体验?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  建站之星如何防范黑客攻击与数据泄露?  简易网站制作视频教程,使用记事本编写一个简单的网页html文件?  如何构建满足综合性能需求的优质建站方案?  建站168自助建站系统:快速模板定制与SEO优化指南  如何选择高效响应式自助建站源码系统?  大连网站设计制作招聘信息,大连投诉网站有哪些?  网站设计制作企业有哪些,抖音官网主页怎么设置?  制作农业网站的软件,比较好的农业网站推荐一下?  零服务器AI建站解决方案:快速部署与云端平台低成本实践  如何通过PHP快速构建高效问答网站功能?  定制建站流程解析:需求评估与SEO优化功能开发指南  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站之星手机一键生成:多端自适应+小程序开发快速建站指南  公司网站的制作公司,企业网站制作基本流程有哪些?  ,南京靠谱的征婚网站?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  免费网站制作appp,免费制作app哪个平台好?  建站之星客服服务时间及联系方式如何?  如何在景安云服务器上绑定域名并配置虚拟主机?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  如何在阿里云香港服务器快速搭建网站?  魔方云NAT建站如何实现端口转发? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。