I’ve run into numerous situations where I need to loop through data on a website that I do not own (typically API documentation) so that I can reformat it and make it usable. For example, AWS Route 53 includes a list of top-level domains (TLDs) in a page with related […]
Рубрика: Без рубрики
Laravel class-based Macros
Laravel Macros are a clean way to add pieces of functionality to classes you don’t own (core Laravel components) and re-use them in your projects. It was first introduced in the 4.2 version but it was only recently that I discovered the ability to define class-based macros. So, this is […]
Какая разница между .gitkeep и .gitignore
Пустой файл .gitkeep необходим в случае если необходимо добавить в git пустую директорию (по другому просто не получится — git это не позволяет)Причем подойдет любой файл с любым расширением. Просто .gitkeep это общепринятое соглашение о наименовании, а не git фича.Файл .gitignore позволяет задать исключения для репозитория.Его как привило размещают в […]
Выбор PHP фреймворка: Laravel глазами Symfony разработчика
Фреймворк — это некий скелет структуры проекта, предоставляющий реализованный функционал «из коробки». Данный функционал позволяет решать наиболее типичные задачи при разработке. Архитектура фреймворка может как реализовывать некий собственный набор паттернов, так и представлять собой реализацию отдельных общеизвестных паттернов. Архитектура Laravel строится вокруг популярного в последнее время принципа Inversion of Control […]
Заглянем под капот Doctrine 2
Пожалуй, я не совру, если скажу, что в экосистеме Symfony наиболее часто используемой ORM является Doctrine. Поэтому изучение этой библиотеки крайне важно для Symfony-разработчика. В данной статье предлагаю заглянуть «под капот» этого Мустанга в мире ORM-ок и выяснить, на базе каких абстракций и паттернов построена эта библиотека. Когда я впервые […]
Попросили проверить код, на что смотреть нужно?
Цель данных рекомендаций — снижение сложности восприятия, поддержки, тестирования и расширения кода, написанного разными авторами; она достигается путём рассмотрения серии правил и ожиданий относительно написания PHP-кода. Слова «НЕОБХОДИМО» / «ДОЛЖНО» («MUST»), «НЕДОПУСТИМО» («MUST NOT»), «ТРЕБУЕТСЯ» («REQUIRED»), «НУЖНО» («SHALL»), «НЕ ПОЗВОЛЯЕТСЯ» («SHALL NOT»), «СЛЕДУЕТ» («SHOULD»), «НЕ СЛЕДУЕТ» («SHOULD NOT»), «РЕКОМЕНДУЕТСЯ» («RECOMMENDED»), […]
Как работает подход Unit of Work?
Unit of Work — это паттерн определяющий логическую транзакцию т.е. атомарную синхронизацию изменений в объектах, помещённых в объект UoW с хранилищем (базой данных).Если обратиться к исходному описанию этого паттерна у Мартина Фаулера — то видно что объект, реализующий этот паттерн отвечает за накопление информации о том какие объекты входят в […]
Список бесплатных сервисов для постороения маршрутов
http://www.yournavigation.org/ https://maps.openrouteservice.org/directions?n1=54.556137&n2=45.379028&n3=8&a=55.736389,37.595215,55.481966,46.972046&b=2&c=0&k1=en-US&k2=km&s http://map.project-osrm.org/?z=6¢er=49.788357%2C41.616211&loc=55.627996%2C37.727051&loc=43.130556%2C45.538330&hl=en&alt=0 https://router.project-osrm.org/route/v1/driving/37.72705078125,55.62799595426723;45.538330078125,43.13055565187361?overview=false&alternatives=false&steps=false
Заменяем User Story на Job Story
Раньше, я уже писал о проблемах с user story (пользовательскими историями). В те времена я считал, что лучше просто попросить команду обсудить предлагаемые изменения в продукте. Стратегия была хорошей, если команда оказывала помощь, а продукт был уже зрелым. Однако теперь я работаю с новой командой и создаю продукт с нуля. […]
Макросы в Laravel
Макросы в Laravel — это то, о чём еще сказано недостаточно в рамках фреймворка. Они реально мощные и полезные. За последние год-два я не создал ни одного проекта, где бы не использовал макросы. Если описывать макросы кратко, то это способ расширения метода класса, но без использования наследования, а через замыкание. […]