Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
На сколько я успел понять, обратиться (получить экземпляр) модели можно несколькими способами:
1. Через фасад Illuminate\Support\Facades\DB: $model = Illuminate\Support\Facades\DB::table('table_name');
2. Просто создать эксемпляр модели: $model = new ModelName();
3. Переопределить метод __construct() контроллера, и передать в него экземпляр модели: public function __construct(Model $model) { $this->model = $model; }
4. Через статические методы модели, наприме Model::find()...
Какой способ правильный, чего придерживаетесь вы?
Изменено J1upuk (27.05.2016 08:25:38)
Не в сети
The Laravel Way - это использование Model::find() и new ModelName(). Такой подход встречается во всех книгах, документации и уроках.
DB::table тоже используется, но я не понимаю зачем использовать Query Builder, если есть Eloquent (зачем вообще тогда использовать Laravel?).
Injection модели я в проектах, уроках и книгах не видел.
Мое мнение: правильный путь -это использование первого варианта. Приоритет при разработке проекта должен делаться на читаемость кода, ведь дорабатывать и поддерживать его могут другие люди и любой велосипед обойдется дорого владельцу бизнеса, который платит за разработку и поддержку приложения.
Не в сети
Спасибо!
Не в сети
Страницы 1