2017-07-24 93 views
0

我跟着this answer和其他一些,但無法得到這項工作。Laravel 5.4應用程序無法在自定義目錄中加載自定義類

我有自定義目錄App - >libraries它擁有自定義的PHP類。在composer.json我在PSR-4節

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

    } 
}, 

增加它在其中我想使用類控制器App\Http\Controller\OrderController.php我已經添加了這個

use App\libraries\API; // on top of the page 


class OrderController extends BaseController 
{ 
    public function orderSubmit() 
    { 
      // some code 
     API::convertUSDToEUR($product['price']); 
    } 
} 

錯誤

FatalThrowableError類 '應用\庫\ API' 未找到

我也做過composer dump-autoload

+0

嘗試'使用libraries \ API;'? – linktoahref

+0

是的,只有'使用API​​;',並嘗試'庫\ API :: convertUSDToEUR($ product ['price']);' – Ivan

+0

我認爲這可能是一個命名空間問題,你嘗試過:'namespace App \ Libraries ;'然後'使用API​​;' –

回答

2

該API未在當前命名空間中定義。你應該可以稱之爲new \API(...)或者像這樣。

use API; 


class OrderController extends BaseController 
{ 
    public function orderSubmit() 
    { 
      // some code 
     $convert = new API; 
     $convert->convertUSDToEUR($product['price']); 
    } 
} 

編輯:這個聲明在composer.json也可以。 Laravel它將加載所有內容autoload

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

    } 
}, 
+0

感謝您的答案將嘗試現在 – Ivan

+0

是的,它的工作!我一直試圖添加'使用API​​;'但沒有嘗試創建'新的API;'.. – Ivan

相關問題