@prophp7

Страница 191 из 1387
Dmitriy
13.01.2017
22:50:55
@yii2ru

Виталий
13.01.2017
22:51:14
капец, столько чатиков уже

Dmitriy
13.01.2017
22:52:06
не, у меня похожего нету. Написать свой рул это 20 минут дела.
Ну это все умеют. а вот взять и написать на в строенном ни как. видимо убогость роунинга из коробки так и будет фишкой йии2

Роман
13.01.2017
22:52:06
Такой вопрос, вот я пишу класс. И если в нём есть что-то, что должно прекратить выполнение скрипта, die() уместен? Или нужно исключения кидать?

Google
Dmitriy
13.01.2017
22:52:13
Нет

исключение

Виталий
13.01.2017
22:52:54
другой вопрос что люди не могут найти решений

Роман
13.01.2017
22:53:16
http://pastebin.ru/XDqQHdNj

?

Я это понимаю, но пока так.

Dmitriy
13.01.2017
22:54:24
я хз о чем ты, так как у меня не было проблем которые бы я не смог решить на ии2
видимо просто разные сложности проекты. будет время перепишу этот роутинг и будет это как отдельная либа

Роман
13.01.2017
22:54:47
А есть что-то штатное в PHP чтобы сразу проверить на наличие нужного функционала?

Или свои велосипеды писать?

Dmitriy
13.01.2017
22:55:53
зачем везде static ?

Роман
13.01.2017
22:56:11
Так класс статический. Чтобы объект не создавать?

Или я что-то не так понимаю в твоём вопросе?

Google
Виталий
13.01.2017
22:57:55
видимо просто разные сложности проекты. будет время перепишу этот роутинг и будет это как отдельная либа
ну от сложности проекта не зависит. Просто вот у тебя задача на которую ии не рассчитан из коробки, так как твоя задача больше исключение чем правило. Ты, как опытный разработчик, должен это понимать и принять. А потом быстренько найти решение для построение сложного роутинга на выбранном инструменте - решение есть, написать свой рул. Я так обычно делаю и проблем не знаю. И я четко понимаю что ии умеет хорошо а что нет, соответственно знаю как реагировать если он чего-то не умеет)

Dmitriy
13.01.2017
22:58:02
Роман
13.01.2017
23:00:17
Преимущество над процедурным стилем вижу как минимум в инкапсуляции. Этот класс - вещь в себе, в него нечего добавлять и расширяться едвали будет когда. Просто надоело каждый раз проверять версии и т.д.

Виталий
13.01.2017
23:03:05
у меня даже мой личный блог превратился в ад роутеров ?
хм... как так выходит, что у меня нет проблем, а у тебя даже мелкая задачка превращается в ад? Может ты чет перемудрил там?

у меня роутинг рос только когда я rest api роутил

магазины и корпосайты и вся мелочь умещалась в 5-6 строчках

Виталий
13.01.2017
23:04:38
а как?

может в этом и проблема?))

post/123 => post/view post => post/index post/update/123 => post/update post/delete/123 => post/update стандартная схема роутина. Местами можно менять только составляющие и все. Для блога еще сео надо. Тут не подойдет такое если нормальное сео делать.

Как ты обычно у себя делаешь?

Dmitriy
13.01.2017
23:07:31
Если в приложении controller/action то да это легко. а так . это мрак. Ну разные модули в блоге. я еще люблю отделять пост и гет методы. в разные функции

Виталий
13.01.2017
23:09:19
пост и гет в разные функции это как?

Dmitriy
13.01.2017
23:10:59
getCreate() - это гет postCreate() пост не люблю когда в сложных приложения actionCreate отвечал за гет и пост

Виталий
13.01.2017
23:11:46
в чем профит?

зачем ты так делаешь?

Google
Виталий
13.01.2017
23:12:07
страница create должна и то и то отрабатывать

ее задача показать форму, потом принять пост и заполнить модель, отрбоать а потом опять показать вьюху или редирект... зачем разделять?

Dmitriy
13.01.2017
23:12:56
Не должна.

Виталий
13.01.2017
23:12:59
должна

Dmitriy
13.01.2017
23:13:19
Нет. я так понимаю ты только на йии работаеть ? =)

Виталий
13.01.2017
23:13:31
на симфони еще

а где ты видел что не должна?

Dmitriy
13.01.2017
23:14:17
Да в той же ларке удобно раздельно обрабатывать пост и гет

Виталий
13.01.2017
23:14:33
ну, в этом нет смысла просто)

объясню

F01134H
13.01.2017
23:16:34
Разделяй и влавствуй

Dmitriy
13.01.2017
23:16:39
во

F01134H
13.01.2017
23:16:48
Когда у тебя на пост и гет отдельные методы, тебе легче ими управлять

Виталий
13.01.2017
23:16:58
покажи пример кода)

Dmitriy
13.01.2017
23:17:05
ща минутку

Виталий
13.01.2017
23:17:06
так проще будет, мож я чего не вкурил

Dmitriy
13.01.2017
23:19:35
https://gist.github.com/exileed/11ffd08fe132c4151ffed16483350d8b вот простой пример

Виталий
13.01.2017
23:22:27
эм... ты одну логическую операцию разбил на 2 метода. Это не упростило, а усложнило. Причем у тебя в 99% случает get метод будет в одну строку - отдать вьюху. Так же, когда юзер ошибся с вводом данных он желает увидеть свою форму снова, заполненную и с флеш сообщением про ошибки. В твоем варианте такого сделать нельзя будет. Ну либо в пост методе снова рендерить вьюху - это дублирвоаие кода.

Так же, часто во вьюху нужно передавать обязательные пеменные, если их нет - ошибка. Дублировать код снова и в гет создавать форму или объект А пустой чтобы просто ошибки не было и в пост его же...

в общем, такой вариант сводит на нет станадртное юзер поведение.

Google
Виталий
13.01.2017
23:23:43
именно в веб приложении.

покажи

Dmitriy
13.01.2017
23:25:21
ща в другую иде загружусь

только давай после этого примера вернемся к yii2

Виталий
13.01.2017
23:25:43
я тебе больше скажу) эти методы всегда должны быть тонкими. Я на yii2 уже давно свел все к конструктору подключаемых к контроллеру экшенов и конфигурированием их парой параметров. Сча покажу. То есть у меня на проекте 99% экшенов стандартных из моего репозитория.

Dmitriy
13.01.2017
23:26:30
Пля ,памяти не хватает на 2 ide-

Виталий
13.01.2017
23:26:40
99% контроллеров у меня выглядат вот так https://yadi.sk/d/sm0igTUz38s64i

это админка)

Admin
ERROR: S client not available

Виталий
13.01.2017
23:27:10
это CRM система достаточно сложная

это главнй контроллер админки

https://gist.github.com/voskobovich/53b4012268d6504069fdb8eb012b7cd9

вот тут все эти экшены внешние https://github.com/voskobovich/yii2-crud-toolkit

Dmitriy
13.01.2017
23:29:11
А ты предстать сложнее приложении . на пример нужно отдать 30 переменных в вьюху

Виталий
13.01.2017
23:29:42
это не правильно)

ты во вьюхе должен передать один объект, ну два

а в них уже запакована бизнес логика сложная))

Dmitriy
13.01.2017
23:30:27
с чего это не правильно ? как их передать тогда

Виталий
13.01.2017
23:30:36
в этом то и феншуй)) если я вижу, что во вьюху уходят куча переменных - я сразу знаю что я делаю что-то не так

Google
Dmitriy
13.01.2017
23:30:37
все равно их нужно где-то получать

Jan
13.01.2017
23:30:40
во вьюхах вообще бизнес-логики не должно быть

Dmitriy
13.01.2017
23:30:52
Да нету ее там. с чего взяли то

Виталий
13.01.2017
23:31:14
ну, это лично мой опыт) если много переменных во вьюху - значит у тебя толстый экшен контроллера получился, а это уже плохо

https://gist.github.com/voskobovich/5d87b770542f8c78eab9bf094d72bb70

вот мой один из сложных контроллеров на проекте

Dmitriy
13.01.2017
23:32:16
Ладно, 2 иде у меня не запускается и я не смогу показать где нужно разделение на пост и гет . фиг с ним

Виталий
13.01.2017
23:32:49
любая логика, самая сложная реализуется максимально просто. Я намеренно себе убрал возможность кодить в контроллере )) это такой лайфхак, чтобы руки не тянулись

90% всех задач по редактированию форм и загрузке файла, с кропом а попапах решаются моими экшенами.

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

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

Так, я спать пойду) Всем спокойно! Приятно было пообщаться. Все же обмен опытом!

Dmitriy
13.01.2017
23:39:44
Спокойны ночи.

И спс за бесполезный спор =)

Алексей
14.01.2017
09:11:09
/yazaban

Pavel
14.01.2017
12:20:51
https://github.com/symfony/symfony/pull/21289

Крутое решение вместо папок использовать psr4 для авторегистрации сервисов

Виталий
14.01.2017
13:52:03
Коллеги, я вчера познакомился с двумя отличними инструментами PHP CS и PHP CS Fixer. Настроил для своего проекта PHP CS по стандартам Yii2 из офф репо https://github.com/yiisoft/yii2-coding-standards. Но не нахожу в документации как по настройкам PHP CS запустить PHP CS Fixer. И возможно ли это вообще? Так как логично, что мне теперь весь проект надо прогнать и исправить :)

хочу иметь один конфиг на два инструмента - это реально?

Виталий
14.01.2017
14:59:48
всмысле?

Страница 191 из 1387