所以在試圖實現的IoC,DI,等在Laravel 4,我碰了壁。無論是我誤解的東西或做一些可怕的錯誤,不知道哪個...國際奧委會和接口綁定掛鉤22
所以我有一個類Person(「商務艙」,而不是一個模型或庫):
namespace Entities;
use Interfaces\Person as PersonInterface;
class Person implements PersonInterface {...}
工廠其具有:
use Interfaces\Person;
...
App::singleton('user', function($app) {
...
$user_object = new Person();
...
});
和別名陣列中:
'Interfaces\Person' => 'Entities\Person'
問題是,不工作,因爲Person類無法實現它的接口,因爲接口綁定回Person類:
Entities\Person cannot implement Entities\Person - it is not an interface
我似乎在應用程序防止類使用的IoC和接口趕上22日被抓實際實例化。
不知道,如果是相關的,但把
App::bind('Interfaces\Person','Entities\Person');
在routes.php文件的文件似乎並沒有做任何事情(但是把它的別名數組中一樣)。當然,我在這裏做錯了事。有任何想法嗎?
服務商!這就是我所錯過的。現在一切正常。非常感謝。好的接口命名建議;我有太多名爲「Person.php」的文件,並將該名稱空間別名爲「PersonInterface」... – Osan