Оплата кредитной карточкой с php

Большинство систем оплат работают по принципу ворот (gateway) — передал данные, они обработались и вернулись. С клиентом или без него. Сегодня на devclub я рассказывал об эстонских pangalink’ах, но на самом деле я в последнее время интересовался кредитками. О них сегодня тоже рассказывали, перескажу коротко. Kaardikeskus — эстонский сервис. Договор заключается […]

SMS gateway

SMS или short message system разрабатывалась еще в восьмидесятых, но реально пришла на смену пейджерам с появлением мобильных телефонов. Получение В настоящее время SMS широко используется при: оплате некоей услуги с таким же принципом как и платный звонок — договор создаётся между предоставляющим услугу лицом и телефонным оператором, а клиент […]

Возможности Open ID

OpenID это логика разделения аутентификации (authentication), которая в свою очередь отвечает за то, что-бы пользователь был в действительности тем за кого он себя выдаёт. В качестве методов authentication можно выделить пароль, сертификат, биометрические данные. После распознавания с кем идёт дело, вступает в игру процесс правообладания (authorization), который даёт всем знать какие права […]

Блокировка сессий в php

Многие в курсе что при параллельных запросах от браузера к серверу, браузер старается ограничить число активных запросов (по ~5 на домен). Но та же проблема возникает и на бэкэнде с ресурсами Одна проблема с БД решается транзакциями. Но вторая, более явная остаётся — сессии. В моём случае эта проблема вылезла […]

Работа с бинарными данными в php

PHP как язык плохо подходит для работы бинарными данными напрямую. Но иногда приложения должны взаимодействовать по таким протоколам, где размер пакетов очень важен или родным форматом данных для какого-то приложения, который никем в красивый json или xml не переводится.

Оптимальные структуры данных в PHP

Как известно, родных типов данных в php немного. На самом деле в программировании, типов данных конечно же неограниченное множество, особенно когда дело касается деревьев (AA, M, k-d и прочая) Стандартная библиотека php кроме интерфейсов итераторов и автоподгрузки классов предоставляет и более оптимальные типы данных.

Анализ ошибок с XDebug и PHPStorm

XDebug это отличный php-модуль для правильного дебага приложения, который в «старших» языках (читай — не интерпретируемых) уже сразу был встроен в компилятор. Необходимость в полноценном дебаге очевидная в сложных приложениях, где воспроизведение ошибки занимает относительно много времени, а объём данных не позволяет копаться в мегабайтах от print_r(), хотя этот модуль позволяет и такие отчёты

BRMS на php с отражениями

Отражения (Reflection API) в php — мощный инструмент для самоанализа кода. Давно не писал ничего интересного, а тут такая интересная мини-задачка — написать маленькую систему бизнес-правил aka BRMSдля обработки сложных форм, причём не просто десять табов который сохраняются в БД, а анализ который приводит к каким-то выводам. В качестве ядерного решения  выступает […]

PHP frameworks

Как можно уже заметить в моём блоге, я уделяю дотошное внимание используемому языку и смыслу слов, поэтому термин фреймворк мне не нравится, вместо этого по-моему правильней говорить о каркасе или скелете приложения. Выбор современных каркасов для php достаточно широк. Меня всегда интересовала именно внутренняя структура запуска типичного приложения, поэтому постараюсь описать их именно с […]

Стильная почта с картинками на PEAR

PEAR — вполне неплохая php-библиотека, хоть и достаточно тяжёлая. Определённо и в других библиотеках имеются классы работающие с рассылкой почты. А рассылка почты системой должна как правило отличатся от обычной mail() функции. Более того, модули рассылок почты зарегистрированным пользователям обычно самые сложные. И вопрос не столько в том что я […]