Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 24.08.2016 09:40:11

Учитель

Привет форумчане. Занимаюсь изучением Laravel не так давно, около нескольких месяцев,в общем есть какие знания в этой теме, делал простые приложения CRUD и тд.(А общий стаж кодинга на процедурном php 2 года).

Не так давно, пошел устраиваться в компанию, где требовалось знание какого нибудь mvc фреймворка.

На собеседовании, обговорив все условия и уровень моих знаний, пришли к выводу что меня могут взять помощником и параллельно обучать тонкостям работы со сложными системами.

А дальше началось странное, задавая вопросы про работу МОДЕЛИ, ВИДА и КОНТРОЛЛЕРА. Их главный программист, начал говорить, что бизнес логику неправильно писать в контроллер, и что правильнее это делать в модель, и лучше все писать в модель. Я переспросил, думал может быть где то ошибка, на что получил ответ, что литература по mvc дает немного неправильную информацию.

Ну и вопрос, может ли быть такое, и стоит ли учиться у таких учителей?))

Не в сети

#2 24.08.2016 10:22:02

Re: Учитель

  1. все писать в модель

«Всё» это что?

Вопрос про бизнес-логику действительно холиварный. Надо понимать, что все концепции — MVC, SOLID, шаблоны проектирования и прочее — это только каркасы для, так сказать, мысленных конструкций. Они не дают конечного решения, ответов на все вопросы во всех сценариях. Поэтому работу программиста (пока что) автоматизировать как на конвейере не получается. В каждой задаче тот же MVC может применяться по-разному, а называться так и будет — MVC.

Так что по одному этому поводу нельзя сказать, что человек ничего не понимает. Вот если говоря об MVC нет ни моделей (а есть работа с БД напрямую), ни шаблонов (вывод HTML напрямую) — то да, это уже не MVC и вопрос квалификации. А так, на вопросы «где проверять ввод?» есть больше одного правильного ответа.

Не в сети

#3 24.08.2016 10:37:20

Re: Учитель

Сколько людей - столько мнений, в мире программирования в этом плане вообще хаос.

Все книги и практически все учебные материалы по Laravel показывают использование логики в контроллере, потому что так проще понять новичкам. Здесь я согласен с твоим учителем - "thin controllers, fat models", т.е. контроллер должен быть связующим звеном между остальными звеньями приложения и не более. Логика, связанная с данными - в модели, бизнес логику чаще лучше в отдельные классы выводить.

В то же время, я вполне не против какой-то минимальной логики в контроллере. На мой взгляд, лучше так, чем городить отдельный класс для пары строк кода, который ты не будешь использовать где-то еще.

Академия - это хорошо, но не нужно доводить до фанатизма и всегда пропускать все через голову.

Учись у учителя и параллельно учись сам. Постепенно придет осознание хороших и плохих практик.

Изменено AlexeyMezenin (07.08.2017 19:45:25)

Не в сети

#4 24.08.2016 11:02:46

Re: Учитель

нет ни моделей (а есть работа с БД напрямую), ни шаблонов (вывод HTML напрямую) — то да, это уже не MVC и вопрос квалификации

Я с такими конторами/заказми уже несколько раз столкнулся. Люди берут заказ, делают новый проект на Laravel и городят огромные raw запросы только потому, что их "синьор" не знает и не хочет познакомиться с ORM. Одно из собеседований запомнил, потому что было унизительным, остался осадок (дали почувствовать себя блондинкой). А вопросы у главного программиста, под которым с десяток разработчиков - на уровне "чем отличается require_once от include_once" и какой результат выведет код:

$a = '1';
$b = &$a;
$b = "2$b";
echo $a.", ".$b;

и

$i = 016;
echo $i / 2;

При этом ни одного вопроса по Laravel, хотя искали "Laravel разработчика" на новый проект. Пытался объяснить, что мол 2016 год на дворе, вроде как ORM давным давно стали нормой, но не получилось.

Изменено AlexeyMezenin (24.08.2016 11:09:30)

Не в сети

Подвал раздела