在Laravel上访问控制器中模型的正确方法是什么

ray*_*ema 1 php laravel laravel-4

我是Laravel 4的新手,我正在努力理解它.

在谷歌和stackoverflow上搜索.也许我不是在寻找正确的语法,但我希望有人可以帮助我.

在CodeIgniter我理解它(可能).我在控制器中使用:

function __construct()
{ $this->load->model('example_m'); }
Run Code Online (Sandbox Code Playgroud)

但是在Laravel 4中怎么样?

我想出了以下几点:

我在de model中创建一个静态函数,所以我可以随处访问它.例:

class Example extends Eloquent // this is the model
{ 
   public static function TestExample(){
      // do some stuff here
   }
}
Run Code Online (Sandbox Code Playgroud)

或者我可以这样做:

class ExampleController extends BaseController
{
   public $test = null;
   public function __construct()
   {
      $this->test = new Example();
   }
   public function index()
   {
      $this->test->TestExample();
   }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:还有其他方式和/或正确的方法是什么?

Och*_*chi 5

http://four.laravel.com/docs/ioc

App::bind('ExampleModelInterface', 'Example');

class ExampleController extends BaseController {
    public function __construct(ExampleModelInterface $model)
    {
        $this->model = $model;
    }
}
Run Code Online (Sandbox Code Playgroud)