标签:composer space 含义 class com 指定 针对 fun 配置
针对PHP这种编程语言,到目前FIG指定了五个规范,分别如下:
看上去PSR4与PSR0是重复了,但是PSR4规范比较干净,可以看成PSR0规范的升级版。二者最重要区别在于:PSR0规范中,下划线会被转换为目录分隔符,但是PSR4中下划线不具有特殊的含义。二者都是通过特定的目录、文件名以及类名,实现快速查找到类文件,并将相应的类加载进来。
PSR0和PSR4要求有个命名的空间,对上述的ClassTest类做相应的修改如下:
<?php namespace ClassTestLib; class ClassTest{ public function test() { echo "hello world!"; } }
那么对应的文件的路径应该改为\lib\ClassTestLib\ClassTest.php,此时修改composer.json中的autoload如下:
"autoload":{ "psr-0":{ "ClassTestLib":"lib/" } }
可能你发现psr0的值有一些奇怪,是的。在这里ClassTestLib代表的是命名空间,而"lib"是目录名。加载对应的类文件的时候,搜索的路径是lib/ClassTestLib,而不是ClassTestLib/lib,这是在书写composer.json的时候需要注意的一点。
如果命名空间中存在着“\”,则在书写对应的composer.json的时候需要在相应的“\”再添加一个“\”。例如,如果命名空间改为ClassTest\Lib,相应的对应与应用根目录的路径名称应该变为\lib\ClassTest\Lib\ClassTest.php,对应的composer.json中的autoload应该变为:
"autoload":{ "psr-0":{ "ClassTest\\Lib":"lib/" } }
转 :https://www.cnblogs.com/yue-blog/p/5904275.html
标签:composer space 含义 class com 指定 针对 fun 配置
原文地址:http://www.cnblogs.com/fps2tao/p/7819511.html