Pull to refresh
16
0
Антон Шабовта @zloyusr

Программист

Send message
Если честно я, все еще, не разделяю энтузиазма по поводу Swoole. Но, ввиду интереса сообщества к технологии, постараюсь включить его в бэнчмарки.
Простите, я реально не понимаю в чем оверхед решения в схеме nginx + aerys.
Получаем чистый, не блокирующий код на PHP без Lua прослойки.
А можно внутри lua делать запросы в Redis, MySQL, Postgres…

Тогда может и не нужен тут PHP?

А так, никакие прослойки уже давненько не нужны. Есть Ratchet, Aerys и т.д.
$result = (false === $data) ? ['status' => 'fail', 'code' => 12345] : ['status' => 'ok'];

Похоже, должно быть так
Один из авторов Doctrine 2 еще 4 года назад описывал применение Specification Pattern в контексте Doctrine 2:
https://beberlei.de/2013/03/04/doctrine_repositories.html.
Я такого не говорил. Я говорил только о нескольких возможностях языка.
PHP начиная с версии 5.3 достаточно хорош, а с приходом 7.х еще лучше.
Мы любим массивы и хотим добавить к ним методы

т.е. сделать то, что и так уже есть в языке — объекты.
ArrayAccess входит в тройку самых ужасных для меня возможнойстей PHP: сразу за магическими __get, __set
и ReflectionProperty::setAccessible().
Код с применением указанных возможностей прекрасный способ усложнить себе и другим разработчикам жизнь.
Благодатная идея объекта, состоящего из произвольных свойств, которые можно создавать и удалять «на лету», как элементы в массиве, приходит в голову каждому программисту на PHP.

Зачем? Пожалуйста, объясните зачем вы это делаете? Откуда в PHP эта «мода» делать из объекта массив?
По описанию это очень похоже на CQRS Saga. Которым, кстати, ничто не мешает быть и аггрегатом.
Да и обращение к приватным полям объекта извне этого объекта является больше хаком и не факт что так будет работать всегда.

А где в предложенном подходе обращение к приватным полям объекта извне? Все происходит внутри самого объекта и полностью согласуется с ООП.
Автор ( и я его поддерживаю) предлагает использовать именованные конструкторы ( в частной реализации PHP это статические фабричные методы) для объектов доменной области, а в них DI не нужен.
А если уж очень нужно иметь сервис с разными конструкторами ( сложно представить такую ситуацию), то в том же Symfony DI есть поддержка фабрик.
Продажа поддержки свободного проекта не работает, или работает очень плохо.

Раскажите об этом ребятам из Sensio Labs что они на Symfony 2 оказывается плохо зарабатывают.
Недавно заменил свои Plantronics Backbeat Go 2 на прекрасные Samsung Gear Circle — доволен как слон. Хорошее звучание, удобно бегать (есть специальные крепления для шеи в комплекте), а идея с магнитом просто великолепна.
Сабж, же интересен с виду, но удобство использования под сомнением: малое время автономной работы, легко потерять, множество ненужных датчиков (ну зачем в наушниках 3-хосный акселерометр и термометр?).
Benjamin Eberlei — Разработчик Doctrine. http://www.whitewashing.de
Bernhard Schussek — Разработчик Symfony (в частности Symfony Forms). http://webmozarts.com
William DURAND — Разработчик Propel. http://williamdurand.fr
Mathias Verraes — Популярный спикер на Agile и PHP конференциях. http://verraes.net
осталось поставить окошки на мышь и клавиатуру и мой мозг будет сломан окончательно.
Да, как же уже все надоели с этим методом! Twitter, Facebook заполнены такими «шутками», а теперь и на Хабр просочилось… Никакой логической ошибки тут нет и быть не может т.к. возвращается новый объект, а старый остается без изменений, что является обычной практикой для Value Object к коим относится и DateTimeImmutable.
Советую ознакомиться с презентацией Fabien Potencier (создателя вышеупомянутого Pimple, мэйнтейнера Symfony 2 и CEO Sensio Labs). Мне, в свое время, она очень помогла.
Языковая конструкция new создает экземпляр объекта указанного класса. Вызов конструктора при этом является побочным действием и не влияют (кроме брошенного исключения) на поведение new, и как следствие интерпретатор PHP не учитывает блок возврата (return $something) в конструкторе.
Но вообще, я не силен в ООП, могу и ошибаться.

С этого и стоило бы начать. Для вопросов есть соответствующий сервис.

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity