Web-программирование \ PHP

Создание многоуровневого меню. Объяснение функции getTree

От автора: в этом уроке будет продолжена работа по реализации многоуровневого меню. В предыдущем уроке вы могли найти подробное объяснение функции getTree, которая преобразует плоский массив в массив иерархический. Из полученного массива теперь необходимо получить многоуровневое меню или список. В этом уроке будет написано несколько дополнительных функций для получения необходимого кода HTML.

Продолжить чтение

Web-программирование \ PHP

Создание многоуровневого меню. Объяснение функции getTree

От автора: во многих проектах при работе с иерархическими структурами я использую реализацию Adjacency List и некоторый набор функций для построения иерархического массива. Одна из таких функций – это функция от Tommy Lacroix, которая довольно давно была найдена на просторах интернета. Это функция с условным названием getTree.

Продолжить чтение

Web-программирование \ PHP

Автозагрузка классов с Composer в PHP

От автора: в этой статье мы рассмотрим основы автозагрузки в PHP и то, как автоматически загружать классы PHP с помощью Composer. Я объясню, почему автозагрузка так важна, и шаг за шагом покажу, как использовать Composer для автозагрузки. Я также объясню разницу между разными видами автозагрузки в Composer.

Продолжить чтение

Web-программирование \ PHP

Автодеплой проекта из Bitbucket средствами PHP

От автора: система контроля версий – это неотъемлемая часть современной профессиональной веб-разработки. При этом процесс внедрения нового функционала или работа по исправлению багов сводится к последовательному добавлению коммитов и последующему «выливанию» их на сервер. Как правило, за работу с сервером отвечает отдельный человек в компании (тимлид), и, если он по каким-то причинам недоступен, то и «вылить» код некому.

Продолжить чтение

Web-программирование \ PHP

Простая обработка форм на PHP для начинающих

От автора: в последнем уроке серии мы завершим написание механизма обработки форм на PHP. В предыдущих уроках было показано, как получить данные из формы без перезагрузки страницы с помощью AJAX, а также показана валидация этих данных. В этом уроке будет реализована отправка писем на email с помощью библиотеки PHPMailer.

Продолжить чтение

Web-программирование \ PHP

Nested Set - хранение дерева в БД

От автора: одной из популярных и, вместе с тем, достаточно сложных задач является работа с деревьями. Простой пример: необходимо реализовать многоуровневое меню категорий на сайте. Для реализации этой задачи необходим алгоритм хранения деревьев в БД и работы с ними. Одним из таких алгоритмов является Nested Set, который и будет показан в данном уроке.

Продолжить чтение

Web-программирование \ PHP

Как выполнить редирект с помощью PHP

От автора: редирект позволяет перенаправить браузер клиента на другой URL-адрес. Вы можете использовать его при переключении доменов, изменении структуры сайта или переходе на HTTPS. В этой статье я покажу вам, как выполнить редирект на другую страницу с помощью PHP. Я объясню, как именно PHP перенаправляет браузер, и покажу вам, что происходит под капотом.

Продолжить чтение

Web-программирование \ PHP

Простая обработка форм на PHP для начинающих

От автора: в этом уроке будет продолжена работа с формами на PHP. В уроке вы найдете валидацию полей формы. При этом будет показана как клиентская валидация, так и серверная. Для серверной валидации будет отправляться ajax-запрос на сервер с данными заполненной формы и возвращаться ответ о результатах проверки.

Продолжить чтение

Web-программирование \ PHP

Простая обработка форм на PHP для начинающих

От автора: в этом уроке будет показана работа с формами на PHP. Формы являются неотъемлемым элементом практически любого сайта. При этом в формах могут быть десятки полей, данные из которых необходимо валидировать и отправлять на email или же сохранять в БД.

Продолжить чтение

Web-программирование \ PHP

Отношения между классами: наследование, композиция, агрегация

От автора: в объектно-ориентированном программировании выделяют три способа организации отношений между классами и их объектами: наследование, агрегация и композиция.

Продолжить чтение