@ru_laravel

Страница 12 из 39
Celestial
26.12.2016
14:17:40
в доке есть просто свод функций примеров и т.п. но вот четкого описания нет =)

Adel
26.12.2016
14:20:14
Зависит от проекта

если хелло ворлд - то в контроллерах можно все держать

Celestial
26.12.2016
14:20:45
ну уж неет )

Google
Celestial
26.12.2016
14:20:55
я просто документооборот делаю

и не совсем уверен что всё по феншую сделано у меня

Adel
26.12.2016
14:21:07
если посложнее, то у меня в контроллерах остается только то, что обеспечивает КОНТРОЛЬ обработки веб-запроса

Celestial
26.12.2016
14:21:27
использование конструкторов в конртоллерах это нормально ?

Adel
26.12.2016
14:21:29
получение реквеста - передача дальше по сервису. и отдача ответа

что ты имеешь ввиду?

Celestial
26.12.2016
14:22:21
ну вот __construct()

у меня и такие методы есть в контроллерах public function GetName($type, $id) { switch ($type) { case 'docsGroup': $name = DocumentTypeGroup::where('id', $id)->first()->Name; return $name; case 'document': $name = Document::where('id', $id)->first()->name_document; return $name; default: return ''; } }

Adel
26.12.2016
14:22:56
ну это уж совсем не феншуй )

Valery
26.12.2016
14:23:03
непсрненько )

Celestial
26.12.2016
14:23:04
=))))))

Adel
26.12.2016
14:23:04
ты в контроллерах лезешь в базу

Celestial
26.12.2016
14:23:19
вот об этом и речь

Google
Celestial
26.12.2016
14:23:26
это в моделях все делать нужно?

Adel
26.12.2016
14:23:34
причем еще как будто из сишарпа пришел. GetName вместо уже давно принятого за стандарт getName

Celestial
26.12.2016
14:23:56
привычно так не знаю почему

просто я самоучка без тимлида без кого-либо, пишу как считаю нужным, вот и решил задать вопрос умным дядькам хотя бы по ларчику, где что хранить )))

Adel
26.12.2016
14:25:07
ну то что в модели должно быть - это точно. и мне все равно не нравится GetName этот. он наверно юзается еще так GetName('document', ...) - это так себе

Celestial
26.12.2016
14:25:50
lf

da

примерно

вообще русскоязычное есть что-то по этому поводу ?

книга я там не знаю феншуй по ларавельски

Adel
26.12.2016
14:26:36
я такую пишу

Celestial
26.12.2016
14:26:40
библия ларавелиста

Adel
26.12.2016
14:26:40
хз когда напишу только...

Celestial
26.12.2016
14:26:55
хз когда напишу только... это вечная проблема

))

Adel
26.12.2016
14:26:57
месяца через 4-6 самое ооптимистичное

но наиболее вероятное - никогда не допишу :)

ибо лентяй

Celestial
26.12.2016
14:27:28
ну просто я хочу делать правильно )) мне не достаточно чтобы всё работало

Adel
26.12.2016
14:27:55
ну давай сейчас накидаю как у меня примерно выгядят контроллеры

Google
Adel
26.12.2016
14:27:59
сейчас открою проект

Celestial
26.12.2016
14:28:00
давай

Adel
26.12.2016
14:30:34
вообще все начинается не с контроллеров а с реквест обьектов. Они превращают всю кашу из POST-формы. в нормальный обьект с методами. Если работаешь в нормальной IDE PhpStorm - то весьма приятно.

http://pastebin.com/cZ04GKpp

у меня там есть CRUD контрлллер. для одного обьекта. вот его и покажу.

Celestial
26.12.2016
14:32:05
да я в PHP SHTORM

йо

ничеси

как выглядит

сказать что я ниче не понял ни чего не сказать

но выглядит более хорошо чем моё хорошо

теперь я понял

что я гоавнокодю на ларавел

Adel
26.12.2016
14:33:28
http://pastebin.com/UranVqxF

контроллер

очень тонкий как ты видишь

я убрал там другие методы. Update, Delete

public function postCreate($courseId, ChecklistItemRequest $request) - как раз здесь используется этот обьект запроса.

Celestial
26.12.2016
14:34:32
понятно теперь видно к чему стремится нужно

Adel
26.12.2016
14:34:35
т.е. мы юзаем не обычный Request - а уже мой. и там просто методы

Google
Adel
26.12.2016
14:35:40
http://pastebin.com/zHuLUY9w

ну чот я слишком простой вариант выбрал

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

то их надо как раз в сервисе проверять

контроллер вообще не при чем

ах дааа

у меня ж valiate есть

там и проверяется

Celestial
26.12.2016
14:37:37
сколько штук

всяких

Adel
26.12.2016
14:37:45
/** * @param ChecklistItemRequest $request * @throws ChecklistItemValidationException */ private function validate(ChecklistItemRequest $request) { if(!in_array($request->getAnswersType(), [ ChecklistItem::ANSWER_TYPE_SIMPLE, ChecklistItem::ANSWER_TYPE_WITH_PARTIALLY])) { throw new ChecklistItemValidationException('Wrong possible answers'); } }

вот. чтобы только верные варианты ответа были...

Celestial
26.12.2016
14:38:13
а что это вообще за проект?

Adel
26.12.2016
14:38:47
да ерунда... там. чтото типа медицинского образовательного проекта. с записью видео.. проверкой этого видео. один американский врач заказал :)

Celestial
26.12.2016
14:39:00
мде

молодец

Adel
26.12.2016
14:39:39
и да. ты неправ насчет PHP. неважнон а каком языке писать. можно на самом крутом языке писать мусорные проекты.

Celestial
26.12.2016
14:39:54
ну это то так

Adel
26.12.2016
14:39:57
PHP растет. вполне неплохо.

по сравнению с остальными

Google
Celestial
26.12.2016
14:40:11
потому что популярен очень

Adel
26.12.2016
14:40:17
не только

Celestial
26.12.2016
14:40:21
просто кого не спроси пересаживать тебя надо с этого говна (с)

Adel
26.12.2016
14:40:34
версии 7.0 и 7.1 - весьма неплохие прорывы

Celestial
26.12.2016
14:40:44
в 7.1 что нового ?

я даже что-то не смотрел чейндж лог

Adel
26.12.2016
14:40:56
да. это говорят те кто никогда не писал нормально на PHP

они видели только говнокод

Celestial
26.12.2016
14:41:20
ну шарписты в основном

)

Adel
26.12.2016
14:41:25
я сам шарпист

наполовину

Celestial
26.12.2016
14:41:56
я дибил на половину

или больше

хз

Grzegorz
26.12.2016
14:42:26
никак не возьмусь за PHP 7, ибо 5 толком не изучил

Celestial
26.12.2016
14:42:51
та ладно

меня радуют некоторые клиенты

у которых старые версии php

и там не рабтает

$a= [ 1 => 2 ]

Страница 12 из 39