2013-07-28 43 views
7

我只需要自动加载一些类,我不喜欢psr-0命名空间疯狂(没有冒犯)。如何在没有重新安装的情况下使用Composer自动载入没有名称空间的类?

这用在我的项目工作得很好:

"psr-0": { 
    "": [ 
     "app/controller/", 
     "app/model/" 
    ] 
} 

出于某种原因,它不工作了,即使我使用相同的作曲家版本。我需要一个新的项目,也使用Silex。这可能是与Silex的冲突吗?

我知道关于“classmap”选项,但它是无用的,因为它需要我每次添加一个新类时都运行“composer install”。

任何想法?

回答

1

如果您只想重新生成自动载入文件,请使用composer dump-autoload

6

尝试使用“原始”JSON属性,而不是数组(如你的例子)。 这对我的作品与psr-4像你说的,有"": "app/"

{ 
"autoload": { 
    "psr-4": { 
     "Robbie\\": "core/", 
     "": "app/" 
    } 
}, 
"require": { 
     "monolog/monolog": "1.2.*" 
    } 
} 

这使我的目录core下的罗比命名空间,如不通过作曲家受控源为例,第三方(供应商)独白命名空间以及app目录下的源的默认或非命名空间。

一个copmpser update后,所有的人都可以包括产生autoload.php时:

<?php  
require_once 'vendor/autoload.php'; 
// ...  
?> 
+0

'“”:“应用程序/”'不工作 – Toskan

+0

我认为给予作曲家文件名称的组合并运行作曲家安装作曲家更新作曲家安装作曲家更新终于做到了 – Toskan

相关问题