2016-05-24 4 views
0

Я читал, что фасады не очень хорошие. Я понятия не имею, правильно ли это. Я также читал, что Ларавель использует их много. Далее, я читал, что вы можете отключить их в Люмене. «Выключить» может не быть правильным словом.Можно ли использовать Laravel 5 без фасадов?

Вам нужно использовать Laravel с фасадами? Если я не буду использовать фасады, значит ли это, что, вероятно, я бы не выбрал Ларавель в первую очередь?

ответ

3

Вы не обязаны использовать фасады.

Проверка документации на https://laravel.com/docs/5.1/facades

app Просто используйте помощника, чтобы получить то, что вам нужно.

app('router'); 
app('config') 

или вы можете использовать IoC. Есть много способов.

+0

ли это как-то поражение цели выбора Laravel начать? – johnny

+0

@johnny Нет, это не так. Это похоже на использование ORM, вы выбираете! :) – Danny

+2

@johnny совсем нет, они просто синтаксический сахар, чтобы облегчить на кривой обучения. Для многих введение в концепцию IoC и инверсии зависимостей на ранних этапах обучения поставило бы Laravel наравне с Symfony с точки зрения простоты понимания. Разумеется, наряду с этим «сахаром» появляется огромное количество самоуверенного кода, который правильно или ошибочно также облегчает кривую обучения для тех, кто новичок в Laravel, вот где фреймворк сияет (и терпит неудачу для некоторых). –

0

На самом деле вам не нужно использовать фасады в своем приложении. Если вы посмотрите на Facades class reference для каждого фасада, вы можете найти класс в этой таблице. Так, например, вместо DB фасад можно ввести Illuminate\Database\DatabaseManager, и вы можете использовать его метод.

Используя фасад вы будете использовать:

DB:beginTransaction(); 

и инъекционного класс и назначение его классу собственности вы можете написать:

$this->db->beginTransaction(); 
Смежные вопросы