Тестируем маршрутизатор Symfony 4.1

Насколько быстрее новый маршрутизатор Symfony в реальных приложениях? Мы провели несколько тестов, чтобы выяснить это. Улучшенный маршрутизатор Несколько дней назад мы получили фантастические новости, что маршрутизатор в Symfony был значительно улучшен. Конечно, мы хотели увидеть как изменения влияют на наше приложение, поэтому мы решили протестировать его на наших собственных роутах. …

Быстрый Web-парсинг с помощью ReactPHP

Практически каждый PHP-разработчик когда-нибудь парсил данные из интернета. Часто нам нужны какие-то данные, которые доступны только на каком-то сайте, и мы хотим вытащить эти данные и сохранить их где-нибудь. Это похоже на то, что мы открываем браузер, ходим по ссылкам и копируем данные, которые нам нужны. Но то же самое …

Асинхронный PHP: Зачем?

Асинхронное программирование сегодня достаточно востребованно. Особенно в веб-разработке, где скорость реагирования приложения играет огромную роль. Никто не хочет тратить свое время и ожидать подвисшее приложение, пока вы выполняете несколько запросов к базе, отправляете электронное письмо или запускаете другие потенциально длительные задачи. Пользователи хотят получать ответы на свои действия, и они …

Mockery: частичные двойники (mock’и)

Работая со старым кодом, я часто сталкиваюсь с таким классом, который расширяет большой базовый абстрактный класс, а методы этого класса вызывают методы того большого базового абстрактного класса, который делает очень много вещей. Я сам писал такие классы и методы в прошлом. Век живи, век учись. Одна из самых больших проблем …

Test Coverage: Интеграция CodeClimate и Travis CI

Когда вы разрабатываете проект с открытым исходным кодом, считается хорошей практикой иметь высокое покрытие тестами, чтобы сообщество могло чувствовать себя в безопасности, используя ваш код в своих проектах. Существуют онлайн-сервисы, которые могут анализировать качество вашего кода и предоставляют отчёты и рекомендации. Одним из самых популярных является Code Climate. Этот сервис …

GroupBy по нескольким значениям в Laravel

В Laravel начиная с версии 5.5.29 можно группировать коллекции по нескольким критериям. Давайте посмотрим, что это означает и как это работает. Подготовка Итак, эта статья о новой функциональности в фреймворке Laravel. Но прежде чем мы посмотрим как она работет сейчас, давайте посмотрим как она работала раньше. Метод groupBy является методом …

Качество кода: ‘взбиваемость’ (churn) и сложность (complexity). Как отслеживать легаси.

Cложность кода (code complexity) Сложность часто измеряется путем вычисления цикломатической сложности на единицу кода. Показатель можно рассчитать, принимая все ветви кода во внимание. Сложность кода является показателем для нескольких вещей: На сколько трудно понять кусок кода. Большое значение показателя говорит о многочисленном ветвлении в коде. При чтении кода, программист должен …

Не пишите бесполезные unit-тесты

На днях я наткнулся на следующий код в проекте: class Users { public function __construct(PDO $pdo) { $this->pdo = $pdo; } public function getAllUsers() { $stmt = $this->pdo->prepare('SELECT * FROM users'); return $stmt->fetchAll(); } }   И был вот такой тест для проверки этого кода: class UserTest extends TestCase { …

Использование Laravel’овских строк перевода(локализации) во Vue.js

Одина из проблем, с которой вам придется столкнуться при создании мултиязычного сайта — это то, как держать в порядке ваши строки переводов для серверной стороны и для JavaScript компонентов. Я собираюсь продемонстрировать основные приёмы реализации этого, используя в моих примерах Laravel и Vue.js. from Php Profi New Posts http://ift.tt/2BcdSO5 via IFTTT

Реинкарнация популярного PHP-пакета для Slack

Всем привет! Сегодня я хочу рассказать о небольшом, но популярном open source пакете и попросить у вас помощи и поддержки. Slack Все вы наверняка использовали Slack в своих командах для упрощения работы над проектом. В этом плане Slack – очень удобная штука. from Php Profi New Posts http://ift.tt/2DiJpRh via IFTTT