2016-11-10 93 views
1

我想注入類HotelsTransformer沒有與下面的代碼的成功:Laravel ReflectionException在控制器

UserTransformer

<?php 
namespace App\Transformers; 

class UserTransformer extends Transformer 
{ 
    ... 
} 

HotelsTransformer

<?php 
namespace App\Transformers; 

class HotelsTransformer extends Transformer 
{ 
    ... 
} 

美聯社iHotelsController

<?php 

namespace App\Http\Controllers\Api; 

use Illuminate\Http\Request; 

use App\Http\Requests; 
use App\Http\Controllers\Controller; 

use \App\Hotel; 
use \App\Transformers\HotelsTransformer; 

class ApiHotelsController extends ApiController 
{ 
    protected $HotelsTransformer; 

    public function __construct(HotelsTransformer $HotelsTransformer) 
    { 
     $this->HotelsTransformer = $HotelsTransformer; 
     dd($this->HotelsTransformer); 
    } 

當我注入UserTransformer,它是一切OK,但是當我改變UserTransformer與HotelsTransformer它拋出我這個錯誤。

enter image description here

我不知道爲什麼會這樣,因爲我克隆UserTransformer並更改其名稱,但同樣的錯誤仍然存​​在。

+0

您是否使用名稱空間檢查HotelsTransformer類的文件夾名稱?否則它應該工作。 –

回答

0

檢查您的以下命名空間。可能是它不存在或名稱空間路徑不正確

use \App\Transformers\HotelsTransformer; 
+0

對不起,我包含了命名空間,但大膽的風格隱藏了它們。命名空間似乎沒問題。 – suarsenegger

0

嘗試運行composer dumpauto命令。

+0

我以前試過,但沒有。 – suarsenegger

0

嘗試運行從終端這些命令(從項目的根目錄)

// use sudo if it asks for the root permission 
composer update 
composer dump-autoload 
php artisan config:clear 

重新運行該應用程序/項目,然後再試一次。

這兩個命令將刷新作曲者加載的類並清除緩存以使項目運行新鮮,希望它有幫助。

0

好吧,我已經解決了它,文件名是錯誤的,改:對花 應用程序/變壓器/ HotelsTranformer.php

1小時: 應用程序/變壓器/ HotelsTranformer.php 到像一個瘋狂的,很好的工作。