Saya cukup yakin kesalahan FatalErrorException
Call to a member function
saya terkait dengan kesalahan penspasian nama tetapi tidak yakin alasannya. Model tampaknya dimuat dengan baik, hanya ketika saya memanggil metode model. Saya akan menjelaskan:
Saya mencoba menggunakan metode sayhi() di model. Struktur direktori saya seperti ini:
=Struktur Direktori=
Aplikasi/Pengendali
|-controllers
|-api
|-data
|- AttendanceController.php
|- ChartsController.php
|- DataServeController.php
|- ApiController.php
|- BaseController.php
Aplikasi/Model
|-models
|-api
|- UkAudience.php :: sayhi()
|- BaseModel.php
|- DataServeController.php
|- ApiController.php
= Perutean =
Saya menempuh rute seperti ini:
Route::get('someroute',array('as' => 'get-api-data', 'uses' => 'api\DataServeController@getIndex');
Dan DataServeController
meluas dari 'ApiController'
= Pengendali =
Berikut adalah kutipan relevan dari masing-masing pengontrol:
Saya menyuntikkan dependensi antarmuka dan model dibuat di konstruktor 'ApiController()' seperti ini. Anda dapat melihat bagaimana ApiController() memasukkan antarmuka/instansiasi model.
// 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;
}
...
= Model ==
Jadi modelnya tampak dimuat tanpa keluhan Laravel.. Tetapi ketika saya mencoba menggunakan fungsi tersebut saya mendapatkan 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!!';
}
}
Setiap petunjuk/tips/bantuan akan sangat dihargai, terima kasih!