这个规范也不多,七点如下:

1. Overview

  • Files MUST use only <?php and <?= tags.

  • Files MUST use only UTF-8 without BOM for PHP code.

  • Files SHOULD either declare symbols (classes, functions, constants, etc.) orcause side-effects (e.g. generate output, change .ini settings, etc.) but SHOULD NOT do both.

  • Namespaces and classes MUST follow an "autoloading" PSR: [PSR-0PSR-4].

  • Class names MUST be declared in StudlyCaps.

  • Class constants MUST be declared in all upper case with underscore separators.

  • Method names MUST be declared in camelCase.

第1条

这个基本都是大家都懂得的,PHP代码必须只使用长标签(<?php ?>)或者短输出式标签(<?= ?>);而不要使用其他标签。

之所以说这个,是因为我们在学习PHP的时候,一般的教材都告诉我们说,php有4种标记风格:php的4种标记风格 所以,很多人就乱来了。瞎鸡巴写。特别是asp风格的兼职是折磨好么!!!

 

第2条

这个不多说,保存的时候格式必须是无BOM的UTF-8格式,否则会出现很多无法解释的千奇百怪的问题。千万别傻逼的用windows下的text文本编辑器保存文件啊

 

第3条

这个通俗的说呢。就是别把一些输出和修改的操作(副作用) 和 类文件混合在一起,专注一点,这个文件专门来声明class, 那个文件专门来修改配置文件,别混在一起写:

所以,以下的这个文件是有问题的,最好不要这样:

// 副作用:修改了ini配置

ini_set('error_reporting', E_ALL);

// 副作用:载入了文件

include "file.php";

// 副作用:产生了输出

echo "<html>\n";

// 声明 function

function foo()

{

    // 函数体

}

你看上面看起来多乱啊。最好全部分开来写:

namespace Lib;

class Name

{

    public function __construct()

    {

        echo __NAMESPACE__ . "<br>";

    }

    public static function test()

    {

        echo __NAMESPACE__ . ' static function test <br>';

}

}

修改ini:

 

ini_set('error_reporting', E_ALL);

require 文件:

require DIR . '/loading.php';

spl_autoload_register("\\AutoLoading\\loading::autoload");

你看是不是整齐好看多了。当然这个是很难约束的。自己仔细划分。

 

第4条

第4条是约束namespace的,前面已经说过,不多说。值得说的是名字要是驼峰方式来

 

第5条

class name必须要用驼峰方式写,驼峰又分小驼峰和大驼峰(小驼峰是第一个字母是小写)这样写看着舒服也比较规范,不做要求,反正是驼峰就可以了。我喜欢用小驼峰:

class getUserInfo

{

}

第6条

是规定类中的常量名(const)声明必须要全部大小,如果有多个单词,就用_分开:

class getUserInfo

{

    //全部大写

    const NAME = 'phper';

    //用_隔开

    const HOUSE_INFO = '已经大上海买房'

    public function getUserName()

{

         //

    }

}

 

第7条

method name必须要用驼峰方式写,大小驼峰都可以,不做要求,我喜欢用小驼峰:

 

class getUserInfo

{

    public function getUserName()

    {

        //

    }

}

最新文章

  1. python 2.7 学习笔记--文件的基本操作
  2. IMD中一些JS方法总结
  3. liunux 修改hostname
  4. 移动应用抓包调试利器Charles
  5. SPF 简介
  6. SQLPLUS连接oracle
  7. 使用WebDriver遇到的那些坑(转)
  8. openssl rsa 私钥 PKCS8私钥 公钥
  9. Magento 切换成中文后没有数据信息解决办法
  10. 熟练掌握HDFS的Java API接口访问
  11. ansible模块
  12. CSS传统布局之布局模型
  13. Yii 2.0 数据库操作总结
  14. Swarm 如何实现 Failover?- 每天5分钟玩转 Docker 容器技术(98)
  15. java之Spring实现控制反转
  16. 【UOJ244】【UER #7】短路
  17. css3实现不同的loading
  18. numpy库的常用方法
  19. Spark安装过程纪录
  20. WorldWind源码剖析系列:经纬度格网类LatLongGrid

热门文章

  1. 获取微信公众号用户的基本信息(UnionID机制)
  2. 第二篇:Spark SQL Catalyst源码分析之SqlParser
  3. C++中map的用法
  4. Codeforces Round #447 (Div. 2) C 构造
  5. 客户端类中中记录异常的方法: 使用Log4net
  6. python中配置文件的使用
  7. Cassandra 的数据存储结构——本质是SortedMap&lt;RowKey, SortedMap&lt;ColumnKey, ColumnValue&gt;&gt;
  8. react layout init
  9. Python基础学习(第2天)
  10. L129