@prophp7

Страница 820 из 1387
Nikita
06.12.2017
14:29:27
Т.е. Вроде что-то делаю, с докой и гуглом вообще все что бизнес просит. Но дальше цепочки что ты написал не понимал

Sergey
06.12.2017
14:29:28
в целом рекомендую тогда попробовать написать свой контейнер зависимостей - он покрывает наверное 80% того что в этом флоу из "интересного"

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

Nikita
06.12.2017
14:29:59
Это следующий в списке задач пункт

Google
Sergey
06.12.2017
14:30:10
покажи список)

Nikita
06.12.2017
14:30:24
А роутинг без регепса уже писал)

Sergey
06.12.2017
14:30:33
Nikita
06.12.2017
14:30:37


Пса выгуляю скину)

Sergey
06.12.2017
14:31:06
ну просто если он у тебя без регуляро - есть вероятность что ты ничему не научился)

оно конечно не только за счет регулярок можно, много чего можно

префиксное дерево например

но не как в yii - /:controller/:action

Nikita
06.12.2017
14:31:53
Да никак, просто по урлу находил контроллер и экшен

Самый примитив

Sergey
06.12.2017
14:32:10
ясно, ну так чему ты научился?)

Nikita
06.12.2017
14:34:27
Что во первых магии в нем нет, а во вторых писать надо минимум с конфигом и нормальным диспетчером, ну и узнал про магию php вида (new $controller)->$action()

Google
Nikita
06.12.2017
14:34:41
Год назад дело было

Ну и научился перехватывать все запросы и перенаправлять куда мне нужно

Мелочь вроде, но хоть что-то

Сейчас год спустя велосипед новый пишу, пока больше вкурил в ди и узнал про гидроторы, прокси классы. И т.д.

На самом деле рост при написание фреймворка маленький , мне больше показал на слабые места

Nikita
06.12.2017
14:38:59
А-ля слабое понимание внутрянки php, слабое знание паттернов

Nikita
06.12.2017
14:39:02
Ну да

Диспетчер нужен

А, я ещё абстрактными классами наловчился пользоваться на первом фреймворке

Ну и про рефлекшон узнал

И попользовался

:D

Правда для херни, сделал класс константы которого можно форычем перебрать

И cli узнал

Так что смысл имеет, но лучше в интересную фирму на интересный проект.с ментором

Sergey
06.12.2017
14:44:56
А, я ещё абстрактными классами наловчился пользоваться на первом фреймворке
следующий этап - перестать их пользовать и вообще реже пользоваться наследованием через классы

и да - тесты

Nikita
06.12.2017
14:49:42
Вооот, я дошёл до трейтов и самодостаточных классах

Google
Nikita
06.12.2017
14:49:51
А вот с тестами беда

На работе тимлид их не хочет

Sergo
06.12.2017
14:50:40
о_О

Sergey
06.12.2017
14:50:44
На работе тимлид их не хочет
ну и правильно, ты ж не умеешь тестируемый код писать) какой смысл тратить ресурсы впустую)

Sergo
06.12.2017
14:50:50
тимлид не хочет, чтоб ты писал тесты?

Nikita
06.12.2017
14:50:52
Попробую на своём фреймворке, но слабо представляю как тестить

Олег
06.12.2017
14:51:08
Добрый вечер. А кто может сталкивался, laravelcollective/html при создании поля, например: Form::hidden('methodName', 'saveItemKind') перед тем как подставить значение saveItemKind, проверяет $this->request->input('methodName'). и если таковое не пустое, то подставляет именно его вместо 'saveItemKind'.

Sergey
06.12.2017
14:51:21
Попробую на своём фреймворке, но слабо представляю как тестить
вот на эту тему можешь спокойно тут спрашивать

Nikita
06.12.2017
14:51:38
У нас блин команда из трёх программистов ) никто тесты не пишет

Sergey
06.12.2017
14:51:39
тимлид не хочет, чтоб ты писал тесты?
это нормальная ситуация. тесты мало кто пишет. Даже приемочные

Nikita
06.12.2017
14:51:45
Вообще

И на прошлых работах та же беда

Sergey
06.12.2017
14:52:00
и тем более нет смысла писать тесты если ты будешь их один из трех писать. Ты забьешь тупо

Sergo
06.12.2017
14:52:14
Sergey
06.12.2017
14:52:15
НО! можно научиться а потом научить других)

не понимаю, что здесь нормального)
"норма" не всегда хорошо

Nikita
06.12.2017
14:52:24
«На тесты нет времени»

Sergey
06.12.2017
14:52:37
«На тесты нет времени»
баги/регрессии есть?

Sergo
06.12.2017
14:52:38
Nikita
06.12.2017
14:52:54
Баги есть, но мало

Google
Sergey
06.12.2017
14:53:01
ну тогда тесты не особо нужны)

Nikita
06.12.2017
14:53:29
Получается надежный код писать + я ревью заставил всех делать

Sergey
06.12.2017
14:53:45
а на это время есть)

ну как, на самом деле это проще

Nikita
06.12.2017
14:53:55
Хоть как-то от херни бережемся

Sergey
06.12.2017
14:54:19
тесты - надо реально по другому просто делать дела. это сложно и первое время будет очень медленно

и если команда вся не умеет в них - то обречено

Nikita
06.12.2017
14:54:44
Ну и дев сервер поднял который стягивает ветку develop и там все тестят

Вручную пм и пара ребят что в админке работают

Ну я это и понимаю и не понимаю. Чем раньше бы начали тем проще бы было, кодовая база маленькая была

Admin
ERROR: S client not available

Nikita
06.12.2017
14:56:21
А сейчас покрыть все тестами месяц займёт

Валерий
06.12.2017
14:56:45
читать AAA

а тесты в первую очередь писать для себя

Nikita
06.12.2017
14:57:50
Что читать? Оо

Валерий
06.12.2017
14:58:25
http://wiki.c2.com/?ArrangeActAssert

Nikita
06.12.2017
15:00:36
Благодарю

:) вот ещё что-то новое узнаю

Sergey
06.12.2017
15:13:52
еще добавлю

Google
Sergey
06.12.2017
15:14:21
https://gist.github.com/fesor/db60b4995880925b720be9c7cf75543f

Nikita
06.12.2017
15:26:04
Приду почитаю, самому пока видеться так, юнит тесты только на «сложные» участки кода, там где может вкрасться ошибка, например расчёт величины зависящий от 10 параметров по какой нибудь дикой формуле, а вот функциональные тесты должны покрывать все приложение

Vitaly
06.12.2017
15:53:05
Ребята привет, часто встречаю в чужих сорсах такое /** * @var \Ramsey\Uuid\Uuid */ private $id; public function __construct() { $this->id = Uuid::uuid4(); } Выглядит как нарушение инверсии зависимостей и я бы сделал так /** * @var \Ramsey\Uuid\UuidInterface */ private $id; public function __construct(UuidInterface $uuid) { $this->id = $uuid; } Но почему тогда первый вариант конструктора так часто всречается в примерах, в том числе у авторитетных разработчиков(например у ocramius)?

Валерий
06.12.2017
15:55:29
Я так думаю, что в первом варианте - сущность

Vitaly
06.12.2017
15:55:42
Да, и во втором тоже.

Валерий
06.12.2017
15:56:06
да, но сущность с зависимостью... как ее сериализовывать/десериализовывать?

будет ли она валидной после десериализации, например? нет

Sergey
06.12.2017
15:57:27
десериализовывать сущности грешно

Валерий
06.12.2017
15:57:47
грешновато. но пример отличный

Vitaly
06.12.2017
15:58:13
Ну да, именованные конструкторы использовать.

Валерий
06.12.2017
16:00:32
вот в этом варианте, например, uuid используется как identity. никто не мешает сделать у сущности бизнесовый статичный метод, подразумевающий создание новой сущности (например, ::register в случае , допустим, регистрации нового пользователя), а туда уже прокинуть конкретное значение id (в параметрах метода, да)

причем извне неважно, чем получен id (сиквенс, uuid)

правда, я бы тут id еще завернул в valueobject

Vitaly
06.12.2017
16:01:15
Зачем?

Валерий
06.12.2017
16:01:44
ну, допустим, id пользователя не может быть 0 и меньше

такой себе инвариант

Dmitry
06.12.2017
16:12:11
https://buildplease.com/pages/vo-ids/

Vitaly
06.12.2017
16:12:23
Ну вот я сейчас глянул. Доктрина не вызывает конструктор сущности и не рекоментует сериализовать сущности.

Значит через конструктор допустимо указывать зависимости

Валерий
06.12.2017
16:13:10
https://buildplease.com/pages/vo-ids/
годно, схоронил

Vitaly
06.12.2017
16:13:14
Валерий
06.12.2017
16:14:36
а при выборке из репозитория у тебя как зависимости для сущности подтягиваться будут?

например

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