使用自动加载遵照的规范php
namespacepackageClass_Name => /path/to/project/lib/vendor/namespace/package/Class/Name.php namespacepackage_nameClass_Name => /path/to/project/lib/vendor/namespace/package_name/Class/Name.php
基础编码规范git
反作用:
定义:仅仅经过包含文件,不直接声明类、函数和常量等,而执行的逻辑操做github
产生输出 直接require或include,链接外部服务,修改ini配置,触发错误或异常,修改全局或者静态变量,读取或修改文件等等编程
编码风格规范,减小因代码风格不一样而形成不便缓存
<?php namespace Vendor\Package; use FooInterface; use BarClass as Bar; use OtherVendor\OtherPackage\BazClass; class Foo extends Bar implements FooInterface { public function sampleFunction($a, $b = null) { if ($a === $b) { bar(); } elseif ($a > $b) { $foo->bar($arg1); } else { BazClass::bar($arg2, $arg3); } } final public static function bar() { // method body } }
<?php switch ($expr) { case 0: echo 'First case, with a break'; break; case 1: echo 'Second case, which falls through'; // no break case 2: case 3: case 4: echo 'Third case, return instead of break'; return; default: echo 'Default case'; break; }
<?php $closureWithArgs = function ($arg1, $arg2) { // body }; $closureWithArgsAndVars = function ($arg1, $arg2) use ($var1, $var2) { // body };
日志类库通用接口规范闭包
升级版的PSR-0自动加载规范函数
psr-0和psr4对比ui
定义 Foo\Bar => vendor\foo\bar\src 使用 use Foo\Bar\Tool\Request PSR-0实际目录 vendor\foo\bar\src\Foo\Bar\Tool\Request.php PSR-4实际目录 vendor\foo\bar\src\Tool\Request.php
缓存接口规范编码
HTTP消息传递接口spa
请求方法 目标地址 HTTP协议 POST /path HTTP/1.1 目的主机 空一行消息内容 Host: example.com foo=bar&baz=bat
HTTP协议 状态么 描述文本 HTTP/1.1 200 OK 内容类型 空一行消息内容 Content-Type: text/plain foo=bar&baz=bat
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader-examples.md