建立于: 7年前 ( 更新: 7年前 )
PSR全称叫做「PHP标准建议」(PHP Standards Recommendations)。由FIG(PHP框架互用性群组)所制定的建议规范,
这个群组是在2009年的php|tek由一些框架的开发者发起的,由最初的5个到现在已超出20多个了。
在「PHP标准建议」中有很多的编号,每个编号代表了不同的规范。
例如:
PHP标准建议编号1(PSR-1),基本编码标准. 像是类(Class)名称必需宣告为StudlyCaps,方法(Method)的名称需宣告为camelCase..等
PHP标准建议编号2(PSR-2),则是PSR-1的扩展,规范了PHP编码风格,像是extends或是implements必需与class名称同一行...等。
PHP标准建议编号4(PSR-4),则定义了自动加载(Autoloader标准),Composer也是FIG的成员,
例如现今的Laravel框架中,他的composer.json就可看到使用了PSR-4自动加载的踪迹,
因为PSR-0的自动加载已被列为弃用(DEPRECATED),但在composer依然还是有支持,如果真的要用。
下表我列出通过的规范,当然也有审核中及草稿阶段的。有兴趣可参考右方连结: Recommendations (PSRs)
以PSR-7 HTTP Message Interface为例:
在Slim框架中的reqeust及response对象,就是支持PSR-7接口,这让Slim非常自由的可以去使用任何PSR-7的实做,
例如:
Slim进程的路由可以不回传
虽然Slim提供了PSR-7实做,然而,我们可以自由换Slim默认的PSR 7对象,改由其他第三方的实做。
这个群组是在2009年的php|tek由一些框架的开发者发起的,由最初的5个到现在已超出20多个了。
在「PHP标准建议」中有很多的编号,每个编号代表了不同的规范。
例如:
PHP标准建议编号1(PSR-1),基本编码标准. 像是类(Class)名称必需宣告为StudlyCaps,方法(Method)的名称需宣告为camelCase..等
PHP标准建议编号2(PSR-2),则是PSR-1的扩展,规范了PHP编码风格,像是extends或是implements必需与class名称同一行...等。
PHP标准建议编号4(PSR-4),则定义了自动加载(Autoloader标准),Composer也是FIG的成员,
例如现今的Laravel框架中,他的composer.json就可看到使用了PSR-4自动加载的踪迹,
因为PSR-0的自动加载已被列为弃用(DEPRECATED),但在composer依然还是有支持,如果真的要用。
下表我列出通过的规范,当然也有审核中及草稿阶段的。有兴趣可参考右方连结: Recommendations (PSRs)
Num | Title | Editor | Coordinator | Sponsor |
---|---|---|---|---|
1 | Basic Coding Standard | Paul M. Jones | N/A | N/A |
2 | Coding Style Guide | Paul M. Jones | N/A | N/A |
3 | Logger Interface | Jordi Boggiano | N/A | N/A |
4 | Autoloading Standard | Paul M. Jones | Phil Sturgeon | Larry Garfield |
6 | Caching Interface | Larry Garfield | Paul Dragoonis | Robert Hafner |
7 | HTTP Message Interface | Matthew Weier O’Phinney | Beau Simensen | Paul M. Jones |
11 | Container Interface | Matthieu Napoli, David Négrier | Matthew Weier O’Phinney | Korvin Szanto |
13 | Hypermedia Links | Larry Garfield | Matthew Weier O’Phinney | Marc Alexander |
16 | Simple Cache | Paul Dragoonis | Jordi Boggiano | Fabien Potencier |
以PSR-7 HTTP Message Interface为例:
在Slim框架中的reqeust及response对象,就是支持PSR-7接口,这让Slim非常自由的可以去使用任何PSR-7的实做,
例如:
Slim进程的路由可以不回传
\Slim\Http\Response
实例. 他可以回传 \GuzzleHttp\Psr7\CachingStream
实例,虽然Slim提供了PSR-7实做,然而,我们可以自由换Slim默认的PSR 7对象,改由其他第三方的实做。
在Laravel的框架中,我们可以透过加装函式库,来获得一个PSR-7的实例reqeust,而不是Laravel的request。 |
|
一但我们安装了这些包,我们就能取得PSR-7的要求。 |
|
No Comment
Post your comment