全网整合营销服务商

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

免费咨询热线: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规范  # 返回值  # 下划线  # 换行  # 修饰符  # 自动加载  # 链式  # 都是  # 几个  # 都有  # 可以说  # 推荐使用  # 这是一个  # 非常好  # 这块  # 这篇文章  # 不确定  # 不加  # 来实现  # 官网  # 性好 


相关文章: C#怎么创建控制台应用 C# Console App项目创建方法  如何用PHP快速搭建CMS系统?  MySQL查询结果复制到新表的方法(更新、插入)  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  如何通过wdcp面板快速创建网站?  如何在服务器上三步完成建站并提升流量?  如何用西部建站助手快速创建专业网站?  制作门户网站的参考文献在哪,小说网站怎么建立?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  高端企业智能建站程序:SEO优化与响应式模板定制开发  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  网站制作知乎推荐,想做自己的网站用什么工具比较好?  建站主机选哪家性价比最高?  表情包在线制作网站免费,表情包怎么弄?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  如何确保FTP站点访问权限与数据传输安全?  开心动漫网站制作软件下载,十分开心动画为何停播?  宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?  西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  高防服务器租用指南:配置选择与快速部署攻略  C#怎么使用委托和事件 C# delegate与event编程方法  网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?  湖北网站制作公司有哪些,湖北清能集团官网?  宝塔新建站点为何无法访问?如何排查?  实例解析Array和String方法  常州自助建站工具推荐:低成本搭建与模板选择技巧  为什么Go需要go mod文件_Go go mod文件作用说明  如何在企业微信快速生成手机电脑官网?  简单实现Android验证码  如何在云主机快速搭建网站站点?  网站制作公司,橙子建站是合法的吗?  建站ABC备案流程中有哪些关键注意事项?  建站之星安装提示数据库无法连接如何解决?  官网网站制作腾讯审核要多久,联想路由器newifi官网  建站之星安全性能如何?防护体系能否抵御黑客入侵?  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  如何生成腾讯云建站专用兑换码?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  北京的网站制作公司有哪些,哪个视频网站最好?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  创业网站制作流程,创业网站可靠吗?  如何高效利用200m空间完成建站?  广平建站公司哪家专业可靠?如何选择?  ,如何利用word制作宣传手册?  html制作网站的步骤有哪些,iapp如何添加网页? 

您的项目需求

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