Все записи категории ‘PHP’

Досрочный выход, остановка цикла в PHP
 11 Ноя, 2015

Досрочно закончить исполнение цикла в PHP можно разными способами. Хотя конструкций циклов в PHP много, но принципы одинаковые. Читать далее »

Удаление элементов из массива в PHP
 11 Ноя, 2015

Массивы в PHP — один из мощнейших инструментов программиста. Когда я начинал изучать PHP, у меня был определенный багаж знаний работы с массивами в других языках программирования, таких как C++, Delphi и Fortrain. Везде требовалось объявить массив, указать его размерность, тип элементов. Ничего похожего вы не встретите в PHP. В PHP массив — это не линейный объект, а хеш-массив, т.е. набор пар — ключей и их значений.  При чем, если ключ — это скаляр, то значение может быть любым объектом, в том числе и ещё одном хешем.

Дальше я хочу показать разнообразные способы удаления элементов из хеш-массива в PHP. В языках вроде C++, Delphi для подобных трюков понадобится создать специальный объект, двусвязный или односвязный список, аккуратно выделять и освобождать память, следить за восстановлением связей в списке. В PHP же весь это менеджмент спрятан и всегда готов к использованию.

Читать далее »

PHP проверка адреса электронной почты, email
 10 Ноя, 2015

Серию валидаторов пополняю функцией проверки введенного email на соответствие формальным требованиям.

Читать далее »

Работа с картинками в API Drupal 7
 28 Сен, 2015

Собрал здесь несколько полезных функций, которые могут быть полезны для работы с полем изображений в Drupal семерочке. Данная коллекция представляет из себя закладку с примерами. В памяти всё не удержишь, приходится ползать по выполненным проектам — копипастить микро-кусочки кода. А на сайте — все под рукой.

Читать далее »

Проверка кодов ОГРН / ОГРНИП на PHP
 24 Сен, 2015

Продолжая тему валидаторов, публикую код двух функций для проверки введенных пользователем кодов ОГРН или ОГРНИП.

Читать далее »

Проверка кода ИНН на PHP
 23 Сен, 2015

В этом году писал реализацию данной функции для проекта C2C-base. Оказывается, бывает ИНН двух видов — для юридических лиц и физ лиц — 10 или 12 знаков соответственно. Проверка большинства подобных кодов осуществляется по контрольным цифрам, содержащимся в номере.

Читать далее »

XML парсер в массив на PHP
 19 Сен, 2015

XML

По идее столько всего понаписано, чего огород то городить? От случая к случаю, конечно, пользуюсь библиотеками PHP. Но вместе с этим, есть объективные причины ими  пользоваться не всегда. Далее покажу совсем крохотный класс-конвертер XML в массив на базе xml_parser.

Читать далее »

Импортируем изображения через wysiwyg
 27 Дек, 2014

Речь пойдет о небольшой задачке, которая постоянно всплывает при переносе данных со старых сайтов на новые.

Т.е. новый сайт уже готов, но есть старый, на котором какое то количество статей, требующих аккуратного переноса, при чем они содержат картинки. При переносе «вручную» приходится копировать сначала текст. Потом скачивать картинки себе на компьютер (ага, save as). Потом мы вставляем картинки в новую статью, т.е. грузим их через файл-менеджер wysiwyg на сайт, корректируем размеры, наверное и заголовок, поле alt понадобится заполнить попутно. Все это не укладывается уже в схему простого copy-paste.

Читать далее »

Восстанавливаем объект из состояния __PHP_Incomplete_Class_Name
 13 Дек, 2014

Объект класса «__PHP_Incomplete_Class» с дополнительным свойством __PHP_Incomplete_Class_Name => ‘имя класса’ появляется, когда PHP не удается найти объявление класса при операции десериализации объекта. К примеру, такое может происходить при хранении объекта в сессии, когда сессия открывается до подключения файлов описаний классов.

Читать далее »

Обращение к свойству объекта/класса в PHP, если имя св-ва хранится в переменной
 12 Дек, 2013

Из разряда «на заметку программисту». Есть такие вещи, о которых знаешь что они есть, но забываешь конкретную реализацию, когда доходит до использования. Именно так обстоит дело с тем, что описано в заголовке. Т.е. у нас есть переменная, где хранится имя свойства объекта,  и нужно прочитать значение этого свойства. А возникает ситуация, когда нам нужно предварительно вычислить это имя свойства объекта, а потом уже к нему обратиться.

Читать далее »