С переодичностью раз в несколько месяцев на хабре появляются такие перлы и персонажи, и ты опять не можешь не дочитать всех комментариев автора, ибо это трэш и угар))
а почему их не брать? Оба валидатора хорошие и оба можно использовать как самостоятельные пакеты к любому проэкту. B обеих больше функционала, чем в вашем валидаторе и за обеими стоят изестные разработчики и комньюнити.
Внедрение зависимостей без контейнера — Пример использования трейта вместо контейнера.
Очень плохой пример использования трейта. В указанном примере автор статьи якобы избавляется от контейнера и внедряет зависимости через трейт. Но на самом деле зависимости не внедряются, он сам просит их у трейта, который в свою очередь их создает. По факту это то же самое, что сделать в исходном классе метод:
function buildMyDependency() { return new MyDependency(); }
Плохо это тем, что это 1) не внедрение зависимости, а ее создание 2) при юнит тестировании нет возможности смокать эту зависимость, следовательно метод buildMyDependency нормально протестировать невозможно. Единствнное остается смокать сам метод buildMyDependency(), а сама логика этого метода останется непокрытой.
«cronario/cronario — Сервер очередей для выполнения фоновых задач.»
Думал было занести в закладки, но после беглого взгляда на официанльный сайт, с лингвистическими ошибками и отсутствием информации и документации по продукту, а так же после просмотра git репозиториев, где тоже нет практически никакой документации и примеров, огорчился. Зачем выкладывать на всеобщении обозрение сырейший продукт? Вряд ли я теперь в ближайшее время заинтересуюсь этим Cronario.
а почему их не брать? Оба валидатора хорошие и оба можно использовать как самостоятельные пакеты к любому проэкту. B обеих больше функционала, чем в вашем валидаторе и за обеими стоят изестные разработчики и комньюнити.
Очень плохой пример использования трейта. В указанном примере автор статьи якобы избавляется от контейнера и внедряет зависимости через трейт. Но на самом деле зависимости не внедряются, он сам просит их у трейта, который в свою очередь их создает. По факту это то же самое, что сделать в исходном классе метод:
Плохо это тем, что это 1) не внедрение зависимости, а ее создание 2) при юнит тестировании нет возможности смокать эту зависимость, следовательно метод buildMyDependency нормально протестировать невозможно. Единствнное остается смокать сам метод buildMyDependency(), а сама логика этого метода останется непокрытой.
Думал было занести в закладки, но после беглого взгляда на официанльный сайт, с лингвистическими ошибками и отсутствием информации и документации по продукту, а так же после просмотра git репозиториев, где тоже нет практически никакой документации и примеров, огорчился. Зачем выкладывать на всеобщении обозрение сырейший продукт? Вряд ли я теперь в ближайшее время заинтересуюсь этим Cronario.