Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php composer自定义自动加载程序,无需在composer.json中添加自动加载_Php_Json_Class_Composer Php_Autoload - Fatal编程技术网

Php composer自定义自动加载程序,无需在composer.json中添加自动加载

Php composer自定义自动加载程序,无需在composer.json中添加自动加载,php,json,class,composer-php,autoload,Php,Json,Class,Composer Php,Autoload,我指的是 可能所有composer用户都会将其添加到composer.json中,以使其加载自定义名称空间: { "autoload": { "psr-4": {"Acme\\": "src/"} } } 在我的例子中,我的文件夹结构与名称空间完全相同,因此\hello\world将引用\hello\world中的类。因此,有没有一种方法可以告诉composer他应该在目录中使用与命名空间相同的名称进行搜索,而不在composer.json中告诉它?这是不必要

我指的是

可能所有composer用户都会将其添加到composer.json中,以使其加载自定义名称空间:

{
    "autoload": {
        "psr-4": {"Acme\\": "src/"}
    }
}
在我的例子中,我的文件夹结构与名称空间完全相同,因此\hello\world将引用\hello\world中的类。因此,有没有一种方法可以告诉composer他应该在目录中使用与命名空间相同的名称进行搜索,而不在composer.json中告诉它?这是不必要的开销

不,你不能那样做


如果希望使用类似于类的确切名称空间结构的长路径,则始终可以使用PSR-0,这会迫使您使用这些长目录名。但请注意,这有一些小缺点-遍历较长的路径需要稍长的时间。

您可以使用自定义自动加载程序来完成,因为PHP可以处理多个自动加载程序