目前我使用这种结构:
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文件夹加载控制器?
答案 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