好的,Laravel的新手。我用作曲家下載laravel。它創建一個目錄結構像...由於ClassLoader和不正確的作曲文件,Laravel Controller加載文件
vendor\laravel\laravel\app
vendor\laravel\laravel\bootstrap
vendor\laravel\laravel\public
vendor\laravel\framework\....
vendor\laravel\laravel\composer.json
與其他許多供應商和laravel目錄一起。
以及我的初始composer.json文件位於根目錄中的位置。
我感動的供應商的內容\ laravel \ laravel目錄頂端水平,使我有一個目錄結構是怎樣的?
app\...
bootstrap\...
public\...
vendor\laravel\framework\...
composer.json
vendor\ many other directories...
我更新了index.php文件目錄,以便它指的bootstrap \ autoload.php和bootstrap \ start.php目錄的新位置。
我可以加載index.php,我得到Laravel圖像映射表示所有工作。
所以,現在我去修改routes.php文件是...
Route::controller('home', 'HomeController');
並嘗試加載主目錄。我得到的錯誤...
"include(D:\dev\wamp\www\ltest3\vendor/laravel/laravel/app/controllers/BaseController.php): failed to open stream: No such file or directory"
的問題是,供應商\作曲家\ autoload_classmap.php仍然有舊laravel \程序控制器映射。例如
return array(
'BaseController' => $vendorDir . '/laravel/laravel/app/controllers/BaseController.php',
'DatabaseSeeder' => $vendorDir . '/laravel/laravel/app/database/seeds/DatabaseSeeder.php',
'HomeController' => $vendorDir . '/laravel/laravel/app/controllers/HomeController.php',
,而不是在/應用/控制器的新位置/
如果我試圖在我的根目錄下的composer.json運行作曲家更新,我以後一段時間的處理得到錯誤...
Failed to execute git status --porcelain --untracked-files=no
所以,不知道如何讓作曲家更新自動加載類圖以使用我的新目錄位置。
人們通常會將vendor \ laravel \ laravel目錄放在原始位置嗎?
似乎作曲家可能會嘗試再次更新laravel目錄,但不知道,因爲我得到的錯誤。
這是我在根目錄下的完整composer.json。這是最初在vendor \ laravel \ laravel目錄中創建的,並且由其他初始作曲家運行創建的,也許這就是問題所在。
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"require": {
"laravel/framework": "4.1.*"
},
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php"
]
},
"scripts": {
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-create-project-cmd": [
"php artisan key:generate"
]
},
"config": {
"preferred-install": "dist"
},
"minimum-stability": "stable"
}
您是如何最初創建項目的?因爲這是一個時髦的目錄結構。您的項目根目錄應該具有類似於[Laravel的默認應用程序結構](https://github.com/laravel/laravel)的結構,以及包含所有依賴關係的供應商文件夾。 –
您不應該碰到供應商目錄,就像下一個'composer update'一樣,以前的任何更改都會被覆蓋。你用來創建該項目的命令是什麼? – user2094178
我創建了一個簡單的composer.json,其中需要laravel/laravel:v4.1.27在我的頂級目錄中,然後運行作曲者(從NetBeans IDE)。它使用laraval \ laravel \ app \ ... laraval \ laravel \ bootstrap \ ... laravel \ framework \ ....目錄創建了一個非常廣泛的供應商目錄。目錄結構如鏈接所示,但位於供應商目錄中。有沒有頂級應用程序\ ... boostrap \ ...創建 – Ron