一、标准
PSR php standards Recommendation PHP 推荐标准
PSR-1 基本代码风格
PSR-2 严格的代码风格 
PSR-3 日志记录器接口
PSR-4 自动加载 
 
具体说明:
PSR-1 基本代码风格
1、PHP标签 使用<?php ?> 或者 <?= ?>
2、编码 UTF-8
3、目的 一个PHP文件可以定义符号(类,性状,函数和常量等),或者执行有副作用的操作,但不能同时做这两件事。这是一个简单的要求
4、自动加载 PHP 遵循PSR-4
5、类的名称 必须使用驼峰式, 并且首字母大写 
6、常量的名称 必须全部使用大写字母,如果需要 加下划线 MAX_LENTH
7、方法的名称 必须使用驼峰式,首字母小写
PSR-2 严格的代码风格 (其实就是更细节的地方)
1、先把PSR-1贯彻了
2、缩进, 推荐4个空格,不推荐tab 因为不同编辑器宽度各异,而且渲染效果也不同,为了得到最好的外观一致性,所以,。。。
3、文件和代码行 PHP文件必须使用UNIX风格的换行符    最后要有一个空行,并且不要用PHP关闭标签 因为会被当成输出(我还真遇到过)
4、关键字 true false 都小写
5、命名空间 每个命名空间语句后面必须跟着一个空行,所有use 语句完毕后,也要加一个空行。
6、类的自定义体的括号位置,另起一行 
7、可见性 类中的每个属性和方法都要声明可见性。类的每个属性 都要声明可见性,public private protected等 
8、 if else 这种判断符号 加空格 if ($a == $b) { 巴拉巴拉
PSR-3 日志记录器接口
1、第三个推荐规范居然不是指导方针,而是一个接口,规定PHP日志记录器组件可以实现的方法,主要是一些方法和参数,这里就不展开了,比较流行的日志组件是monolog
PRS-4 自动加载器

Modern 阅读笔记 一 PSR标准的更多相关文章

  1. uml大战需求分析阅读笔记01

    <<UML大战需求分析>>阅读笔记(1) 刚读了uml大战需求分析的第一二章,读了这些内容之后,令我深有感触.以前学习uml这门课的时候,并没有好好学,那时我认为这门课并没有什 ...

  2. Hadoop阅读笔记(二)——利用MapReduce求平均数和去重

    前言:圣诞节来了,我怎么能虚度光阴呢?!依稀记得,那一年,大家互赠贺卡,短短几行字,字字融化在心里:那一年,大家在水果市场,寻找那些最能代表自己心意的苹果香蕉梨,摸着冰冷的水果外皮,内心早已滚烫.这一 ...

  3. Mongodb Manual阅读笔记:CH8 复制集

    8 复制 Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作Mongodb Manual阅读笔记:CH3 数据模型(Data Models)Mongodb Manual阅读笔 ...

  4. Mongodb Manual阅读笔记:CH7 索引

    7索引 Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作Mongodb Manual阅读笔记:CH3 数据模型(Data Models)Mongodb Manual阅读笔记 ...

  5. javascript高级程序设计阅读笔记(一)

    javascript高级程序设计阅读笔记(一) 工作之余开发些web应用作为兴趣,在交互方面需要掌握javascript和css.HTML5等技术,因此读书笔记是必要的. javascript简介 J ...

  6. QCon 2015 阅读笔记 - 移动开发最佳实践

    所有ppt下载地址:http://pan.baidu.com/s/1mg9o4TM 下面是移动开发实践部分的阅读笔记. 移动开发网络性能优化实践 - 陈浩然 (携程) 携程是非常标准的移动App架构, ...

  7. 《深入实践Spring Boot》阅读笔记之三:核心技术源代码分析

    刚关注的朋友,可以回顾前两篇文章: 基础应用开发 分布式应用开发 上篇文章总结了<深入实践Spring Boot>的第二部分,本篇文章总结第三部分,也是最后一部分.这部分主要讲解核心技术的 ...

  8. 人体姿势识别,Convolutional pose machines文献阅读笔记。

    开源实现 https://github.com/shihenw/convolutional-pose-machines-release(caffe版本) https://github.com/psyc ...

  9. 《Thinking In Java》阅读笔记

    <Thinking In Java>阅读笔记 前四章:对象导论. 一切都是对象. 操作符. 控制执行流程 public在一个文件中只能有一个,可以是一个类class或者一个接口interf ...

随机推荐

  1. 针对不同手机系统的LBS地图定位解决方案

    原文:针对不同手机系统的LBS地图定位解决方案 摘要: 针对目前的三种手机系统:Android安卓.S60塞班.IOS苹果,做出的三种不同的手机地图应用解决方案. 查阅了多数地图API对手机的支持情况 ...

  2. Atitit.ALT+TAB没反应车and 点击任务栏程序闪烁可是不能切换

    Atitit.ALT+TAB没反应车and 点击任务栏程序闪烁可是不能切换 1. 可能你的Alt+Tab键被别人禁用了,试下以下的方法: 1 2. 为什么要禁用Alt+Tab 1 3. ALT+TAB ...

  3. javascirpt怎样模仿块级作用域(js高程笔记)

    因为javascript没有块级作用域的概念,所以在块语句中定义的变量,实际上是在包括函数中而非语句中创建的. 如: function outputNumbers(count){ for(var i= ...

  4. 国内ng学习网站

    Ngnice-国内ng学习网站2015-01-25 21:30 by 破狼, 534 阅读, 3 评论,收藏, 编辑 今天给angular新手介绍一个国内开源的ng学习网站http://www.ngn ...

  5. C语言使用SQLite3数据库

    原文:C语言使用SQLite3数据库 SQLite是一个著名的免费数据库(不管是商用还是私人使用都免费),已经向众多公司如Adobe, Airbus, Apple, google, GE, Micro ...

  6. 【hoj】2651 pie 二分查找

    二分查找是一个非常主要的算法,针对的是有序的数列,通过中间值的大小来推断接下来查找的是左半段还是右半段,直到中间值的大小等于要找到的数时或者中间值满足一定的条件就返回,所以当有些问题要求在一定范围内找 ...

  7. VMWare Workstation:局域网PC连接虚拟机里的远程桌面或端口

    很简单.做一个理解: 1.NAT 2.VM的网卡,相当于路由器 环境: 物理路由器:192.168.0.1 PC1(win):192.168.0.2 PC2(win):192.168.0.3 PC2里 ...

  8. fatjar eclipse4.4 java项目的jar包一起打包 net.sf.fjep.fatjar_0.0.32.jar

    1.下载net.sf.fjep.fatjar_0.0.32.jar  http://files.cnblogs.com/files/milanmi/net.sf.fjep.fatjar_0.0.32. ...

  9. Node.js日志框架选型比較:Winston

    日志对于问题定位.调试,系统性能调优至关重要,尤其是系统复杂以及在线执行的情况下. 好的开发框架都会有一个可开启关闭/可配置记录级别的日志系统.我们从下面几个方面来做选型: 1. 每行日志都须要有准确 ...

  10. javascript 学习总结(九)面向对象编程

    1.面向对象的工厂方法 function createPerson(name, age, job){ var o = new Object(); o.name = name; o.age = age; ...