PHP библиотека для создания Турбо Страниц Яндекса

Не так давно в Яндексе объявили о собственной разработке быстрых страниц, по типу AMP от Google или Instant Articles от Facebook, правда пока с очень ограниченным функционалом (но стоит отметить, что функционал постоянно дорабатывается).
Решил попробовать запустить Турбо Страницы на одном из своих проектов. Но как оказалось, технология есть, а никаких SDK и библиотек для PHP нет.

Пришлось набросать свою библиотеку.

Сейчас она поддерживает весь основной функционал для создания фида с турбо-страницами, а так же содержит хелпер для создания элементов контента в формате, поддерживаемым турбо-страницами.

Изначально писал всё под PHP 7, уж больно мне нравится строгая типизация, а так же свежий phpunit. Но потом попросили сделать версию с поддержкой PHP 5.4. И чтобы не отказываться от современных инструментов, и не ломать версию для 7 PHP, решил сделать отдельную версию с поддержкой PHP 5.4.

Обе версии лежат на гитхабе.
Версия для PHP 7 (и выше): https://github.com/sokolnikov911/yandex-turbo-pages
Версия для PHP 5.4 (и выше): https://github.com/sokolnikov911/yandex-turbo-pages-php5

Share

Автоматический выбор необходимой пользователю языковой версии сайта на PHP

Сегодня появилась задача сделать для сайта, на котором используется интерфейс на двух языках, сделать автоматическое определение системного языка у пользователя. Чтобы пользователю сходу отдавать интерфейс на нужном ему языке.
В связи с этим набросал туториал с примером этого функционала.

(далее…)

Share

Проверка URL на валидность (preg_match) в PHP

Нужен был рег для проверки корректности введенного URL. Для примера был взят один отсюда, но немного дописан.
Добавлена возможность принимать урлы с указанием порта, а также разрешено использование в адресе (не домене) символов «()*» (причем это позволено RFC 1738) и кириллицы (да, появилась нужда принимать и обрабатывать такие адреса без предварительного rawurlencode()).

(далее…)

Share

Автоматизированное создание сложных HTML-карт (map & area)

Во время разработки одного из проектов появилась нужда сделать сложную HTML-карту. До этого сталкивался с более простыми, когда у какого-либо изображения надо было выделеть пару-тройку активных областей в виде прямоугольника или круга. Зная размеры изображения прикинуть координаты этих областей можно и на глаз, и потом, если что, то немного подогнать.

map_example

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

(далее…)

Share

Excel-файл из PHP

Появилась задача создания простых таблиц excel налету.
В принципе, если поискть в сети, то можно найти ряд готовых инструментов для создания *.xls файлов.
Делюсь с вами коротким обзором.

(далее…)

Share

Плавная смена изображений на JavaScript

Как то появилась задача сделать плавную смену изображений в web-странице. Решением задачи решил поделиться с вами. Некоторые используют для этого CSS-свойство filter, но понимает его только Internet Explorer, поэтому пришлось искать реализацию, которая работала бы в разных браузерах.

(далее…)

Share