Как html-парсер на php написать. Вводная часть — 07.07.2020

Введение Здесь и далее в статье будим называть документ, содержащий html просто «Документ». Dom дерево, находящееся в элементе, будет называться «Подмассив». Что должен делать парсер? Давайте сначала определимся, что должен делать парсер, чтобы в будущем отталкиваться от этого при разработке. А именно, парсер должен: Проектировать ПОДРОБНЕЕ

C++/Qt: пора валить?. — 15.05.2020

За что многие любят связку С++ и Qt? За то, что она позволяет решать практически любые задачи без смены контекста. Язык, на котором можно писать быстрые программы, простая, единообразная и хорошо документированная структура, кроссплатформенность, и за всем этим – огромное сообщество. Давайте структурно декомпозируем разделим ПОДРОБНЕЕ

Как переиспользовать код с бандлами Symfony 5? Часть 2. Выносим код в бандл

Поговорим о том, как прекратить копипастить между проектами и вынести код в переиспользуемый подключаемый бандл Symfony 5. Серия статей, обобщающих мой опыт работы с бандлами, проведет на практике от создания минимального бандла и рефакторинга демо-приложения, до тестов и релизного цикла бандла. В предыдущей статье мы ПОДРОБНЕЕ

Как переиспользовать код с бандлами Symfony 5? Часть 1. Минимальный бандл

Поговорим о том, как прекратить копипастить между проектами и вынести код в переиспользуемый подключаемый бандл Symfony 5. Серия статей, обобщающих мой опыт работы с бандлами, проведет на практике от создания минимального бандла и рефакторинга демо-приложения, до тестов и релизного цикла бандла. В первой части: Зачем ПОДРОБНЕЕ

«Взломать» за 60 секунд или карантинное безумие

Небольшая история о неадекватном заказчике и нахождении уязвимости на сайте за 1 минуту. Не ожидал, что именно эта история станет моей первой статьей на Хабре. Пишу пока горячо! Все что Вы прочитаете далее — это не призыв к действию или попытка кого — либо скомпрометировать. ПОДРОБНЕЕ

Craftable — Laravel CRUD generator

Всем привет. Расскажу о CRUD генераторе для Laravel. Для студенческой работы мне надо было сделать много CRUD формочек, последний раз когда у меня была такая задача (в 2017), я использовал Yii2 и Gii. В этот раз я решил сделать решение на базе Laravel, но своего ПОДРОБНЕЕ

Doctrine ResultSetMapping на примерах

Doctrine ORM предоставляет разработчику удобные средства выборки данных. Это и мощный DQL для работы в объектно-ориентированном ключе, и удобный Query Builder, простой и понятный в использовании. Они покрывают большую часть потребностей, но иногда возникает необходимость использовать SQL запросы, оптимизированные или специфичные для конкретной СУБД. Для ПОДРОБНЕЕ

PHP-Дайджест № 177 (23 марта – 6 апреля 2020)

Свежая подборка со ссылками на новости и материалы. В выпуске: расписание релиза PHP 8, анализ эргономики объектов в PHP и 5 свежих RFC из PHP Internals, немного полезных инструментов, видео, подкасты и многое другое. Приятного чтения! PHP Internals Опубликовано Расписание релиза PHP 8 — Первая ПОДРОБНЕЕ

Spiral: высокопроизводительный PHP/Go фреймворк

Привет, Хабр. Меня зовут Антон Титов, CTO компании Spiral Scout. Сегодня я хотел бы рассказать вам про нашего PHP-слона. А точнее про вторую версию опен-сорсного full-stack PHP/Go фреймворка — Spiral. Spiral — это компонентный full-stack фреймворк, разрабатываемый нашей компанией более одиннадцати лет и обслуживающий под ПОДРОБНЕЕ

Временная локализация на Symfony 4 + Twig

Потребность во временной локализации продукта возникает, когда продукт вырастает до таких масштабов, при которых необходима работа в разных временных зонах (очевидность). Хочется описать вариант простой идеи решения этого кейса. Предыстория такова: разрабатывали нишевую CRM/ERP-систему, а потом нам сказали, что буквально завтра с этой системой будут ПОДРОБНЕЕ