2015-09-19 75 views
2

在使用Laravel 4精確地處理項目時,我決定要製作自己的幫助文件來存放我的自定義函數..其中之一是下面的內容...Composer dump-autoload,問題

function pr($ar=array(), $bool=false){ 

    echo '<pre>'; 
    print_r($ar); 
    echo '</pre>'; 

    if($bool){ 
     exit; 
    } 

} 
我composer.json文件

,只是自動加載後:類映射,我增加MYNE,自動加載:文件-arrar,其中包括我的自定義文件,應用程序/傭工,如下圖所示..

  "app/database/migrations", 
      "app/database/seeds", 
      "app/tests/TestCase.php" 
     ], 

     "others":[ 
      "app/helpers.php" 
     ] 

和我切換到我的終端窗口,運行下面的命令

composer dump-autoload -o 

,但我仍然有錯誤,我的PR()函數是未定義...然後我試圖技術人員替代... [-O]至優化文件

php artisan dump-autoload 

但仍拒絕工作......然後我從

"others":[ 
      "app/helpers.php" 
     ] 

改變了數組名

"files":[ 
      "app/helpers.php" 
     ] 

然後我得到了所需的響應,我的代碼現在可以看到我寫的自定義函數,請我想知道是否有我應該遵循的模式或其他方式,在我的情況下,我誤以爲「文件」,爲‘其他’和我有錯誤,但櫃面,我怎麼錯過這裏,我看到的只是一個對數組表示名稱字符串值....

+0

應該有人想知道,我更喜歡我的pr()函數的本地dd() - 死亡轉儲功能......它適合我..我只是我,#period – Andaeiii

回答

0

這是作曲家的作品。在autoload部分,您需要使用files來加載一些文件。在我Laravel 5項目我有,例如:

"autoload": { 
    "classmap": [ 
     "database", 
     "tests/TestCase.php" 
    ], 
    "psr-4": { 
     "App\\": "app/", 
     "verify\\": "verify/" 
    }, 
    "files": [ 
     "app/Helpers/functions.php" 
    ] 
}, 

如果你看看documentation你會發現你需要使用files通過自動加載加載任何額外的文件。

+0

哇,謝謝你,我真的很感激...我看到..讓我想知道爲什麼... – Andaeiii

+0

謝謝你..只是沒有... – Andaeiii

0

按照official documentation

目前支持PSR-0自動加載,PSR-4自動加載,類圖生成 和文件包括。 PSR-4是 的推薦方式,因爲它提供了更大的易用性(添加類時不需要重新生成 自動加載器)。

"others"沒有工作的原因是因爲它不是由作曲家支持。 "others"是毫無意義的,而"files"實際上有一個specific autoloading mechanism