通常能言善辯模型用於如下:Laravel4:從實例化的類對象調用靜態方法
class Article extends Eloquent
{
// Eloquent Article implementation
}
class MyController extends BaseController
{
public function getIndex()
{
$articles = Article::all(); // call static method
return View::make('articles.index')->with('articles', $articles);
}
}
但是改制之使用依賴注入的時候,它看起來就像是:
interface IArticleRepository
{
public function all();
}
class EloquentArticleRepository implements IArticleRepository
{
public function __construct(Eloquent $article)
{
$this->article = $article;
}
public function all()
{
return $this->article->all(); // call instance method
}
}
那麼,爲什麼我們就可以以實例方法$ this-> article-> all()的形式調用靜態方法Article :: all()?
P/S:抱歉我的英文不好。
變化'公共職能全部()'來'靜態公共職能全部( )' –