2014-10-16 157 views
1

当使用'php artisan workbench'命令在Laravel4中创建包时,会使用一个非常奇怪的结构。像这样:包的Laravel4目录结构

project/workbench/MyName/MyPackage/src 
     /MyName 
      /MyPackage 
      PackageServiceProvider.php 
     /config 
     /lang 
     /migrations 
     /views 
     /tests 
     /public 

特别是我想知道,为什么MyName/MyPackage/src/MyName/MyPackage被创建。

为什么这样创建包结构?为什么它看起来如此多余?

+0

的[为什么可能重复必须改变composer.json文件(你的包) Laravel4一次又一次地存储相同的供应商文件?](http://stackoverflow.com/questions/26403759/why-does-laravel4-store-the-same-vendor-files-over-and-over-again) – bcmcfc 2014-10-16 15:41:39

回答

0

第一MyName/MyPackage是软件包的名称,它肯定是需要的,以确保它不与任何其他包冲突使用作曲家(该vendor目录内)

第二MyName/MyPackage是安装时不一定需要。它是以这种方式创建的,因为它与你的包的命名空间相匹配。

MyName/MyPackage => MyName\MyPackage 

你可以在你的意志改变这一点,但你可能会根据您的设置,因此类仍然得到自动加载