我是Laravel 4的新手,我正在努力理解它。
在谷歌和stackoverflow上搜索。也许我不是在寻找正确的语法,但我希望有人可以用它来帮助我。
在CodeIgniter我理解它(可能)。我在控制器中使用:
function __construct()
{ $this->load->model('example_m'); }
但是在Laravel 4中怎么样?
我想出了以下内容:
我在de model中创建一个静态函数,所以我可以随处访问它。例如:
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();
}
}
我的问题是:还有其他方法和/或正确的方法吗?
答案 0 :(得分:5)
http://four.laravel.com/docs/ioc
App::bind('ExampleModelInterface', 'Example');
class ExampleController extends BaseController {
public function __construct(ExampleModelInterface $model)
{
$this->model = $model;
}
}
答案 1 :(得分:1)
您的意思是简单地访问模型的方法吗?
因为它们是静态的,所以你使用:Modell :: method()
你可能不得不做一个composer dump-autoload,所以L4正确地自动加载它。