1

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

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

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

function __construct()
{ $this->load->model('example_m'); }

但是在 Laravel 4 中呢?

我想出了以下几点:

我在 de 模型中创建了一个静态函数,所以我可以在任何地方访问它。例子:

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

或者我可以这样做:

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

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

4

2 回答 2

5

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

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

class ExampleController extends BaseController {
    public function __construct(ExampleModelInterface $model)
    {
        $this->model = $model;
    }
}
于 2013-06-01T10:23:08.040 回答
1

您的意思是简单地访问模型的方法吗?

由于它们是静态的,因此您使用: Modell::method()

不过,您可能必须执行 composer dump-autoload,以便 L4 正确地自动加载它。

于 2013-06-01T12:39:45.500 回答