Laravel 4中app / bootstrap / vendor的不同文件夹

时间:2016-07-27 20:23:09

标签: laravel

目前我使用这种结构:

app/
bootstrap/
vendor/
public/

我想将其更改为

app-2/
bootstrap-2/
vendor-2/
public/

如何做到这一点,我的意思是,我需要哪些文件来改变路径?

现在我已经尝试改变路径:

public / index.php

然后在:

自举/ autoload.php

自举/ path.php

自举/ start.php

基本上我已将每个/ app /更改为/ app-2 /,并且对于bootstrap和vendor也是如此。

但出于某种原因,从app / controller到app / controller的控制器被执行而不是app-2 / controller

任何想法,如果我遗漏了一些需要编辑的文件吗?

在调试器中我看到vendor-2,所以这是正确的,但是为什么从app而不是app-2文件夹加载控制器?

1 个答案:

答案 0 :(得分:0)

更改应用程序目录

要完成此操作,您需要更新composer.json文件,因为这是最终决定Laravel自动加载器行为的方式。

你应该看到类似的部分:

"autoload": {
    "classmap": [
        "database"
    ],
    "psr-4": {
        "App\\": "app/"
    }
},

将其更改为:

"autoload": {
    "classmap": [
        "database"
    ],
    "psr-4": {
        "App\\": "app-2/"
    }
},

该更改意味着当自动加载器遇到App命名空间中的任何类时,它将尝试从app-2目录加载它。进行此更改后,您需要运行以下CLI命令来重新生成自动加载器的PHP文件:

php composer.phar dump-autoload

该命令可能略有不同,具体取决于您在系统上安装composer的方式。

更改供应商目录

您还可以将vendor的{​​{1}}到vendor-2的编辑器包的安装路径更改为composer.json

更改引导程序目录

您需要更新以下文件中对bootstrap目录的引用:

./public/index.php
./artisan