我很確定我的FatalErrorException Call to a member function
錯誤與命名空間錯誤有關,但不知道爲什麼。模型似乎加載正常,只有當我調用模型方法時。我將解釋:命名空間模型 - FatalErrorException調用成員函數 - Laravel 4
我試圖使用方法的sayHi()在modelMy目錄結構是這樣的:
=目錄結構=
應用程序/控制器
|-controllers
|-api
|-data
|- AttendanceController.php
|- ChartsController.php
|- DataServeController.php
|- ApiController.php
|- BaseController.php
應用/型號
|-models
|-api
|- UkAudience.php :: sayhi()
|- BaseModel.php
|- DataServeController.php
|- ApiController.php
=路由=
我打這樣的路線:
Route::get('someroute',array('as' => 'get-api-data', 'uses' => 'api\[email protected]');
而且DataServeController
從 'ApiController'
=控制器擴展=
以下是從各控制器相關摘錄:
我注入接口依賴關係,模型在像這樣的'ApiController()'構造函數中實例化。您可以看到ApiController()如何注入接口/實例化模型。
// controllers/api/DataServeController.php
namespace Api;
use ApiController;
class DataServeController extends ApiController {
public somefunction(){
echo $this->UkAudience->sayhi();
}
}
// controllers/ApiController.php
class ApiController extends BaseController {
/**
* UKAudience Model
* @var UKAudience
*/
protected $UKAudience;
public function __construct(Api\UKAudience $UKAudience){
parent::__construct();
$this->Broadcast = $Broadcast;
}
...
=型號==
所以模型似乎沒有Laravel抱怨加載。但是,當我嘗試使用功能,我得到Symfony \ Component \ Debug \ Exception \ FatalErrorException Call to a member function sayhi() on a non-object
// models/api/UKAudience.php
namespace Api;
use DataServe;
class UkAudience extends DataServe {
public function sayhi(){
return 'hello!!';
}
}
任何指針/提示/幫助將不勝感激,謝謝!