Шаблон фабрика, как способ разделения прав пользователей

В проектах, где требуется разделить права пользователей по ролям, можно использовать шаблон проектирования фабрика (fabric). Данная статья поможет разобраться каким именно образом. Допустим есть простой URI роутер:

Разбиение на страницы на PHP

Если вы занимаетесь разработкой интернет магазинов, каталогов, досок объявлений — то наверняка сталкивались с проблемой постраничного вывода информации. Проще говоря с пагинацией. Представленная ниже функция помогает решить эту задачу. В данной реализации используется враппер MySQLi под названием goDB. Но вы без труда сможете переделать под собственные нужды, главное понимать принцип […]

URL/URI Router

Всем хорошего настроения! Данная статья поможет понять что такое роутер. Сразу скажу: она НЕ рассчитана для новичков, как и большинство материалов данного ресурса. Если вы имеете опыт программирования на PHP и хотите до конца разобраться что же такое роутер и какое отношение он имеет к ЧПУ — эта статья для […]

Генератор календаря на PHP с подсветкой событий

Статья рассчитана на пользователей, хорошо знакомых с объектно-ориентированным программированием. Сейчас я расскажу о новой полезной возможности, которая была введена с ветки 5 в качестве развития ООП в PHP (по сравнению с веткой 4). Она называется «цепочки вызовов» (Method Chaining) и выглядит следующим образом: $object—>method_a()—>method_b()—>method_c();

PHP. Рисуем круговые диаграммы.

Частенько нужно построить диаграмму для оценки тех или иных количественных параметров. В этом нам поможет библиотека GD и ее PHP API. Нижеследующий класс строит простенькую круговую диаграмму. Пример использования: <?php include(‘dia.php’); $instance = new dia(); $data=array(‘3aad00’=>120, ‘f10d0d’=>20, ‘280df1’=>70, ‘dd0ee5’=>45, ‘000000’=>10); $instance—>generate($data);

Ресайз картинок (фотографий) на PHP

Недавно возникла необходимость изменять размер фотографий (да и вообще картинок) средствами PHP. Покопавшись в интернете, нашел небольшую библиотеку. Но у нее обнаружился ряд недостатков, а именно: 1. Если делать из большой фотографии маленькую — сильно страдает качество (нет экстраполяции) 2. Нет разворота по EXIF. Если загружать прямо с фотоаппарата, без предварительной […]

10 наиболее распространенных вопросов на собеседовании по JavaScript

Проходить JavaScript интервью всегда непростая задача. Вопросы могут быть из самых разных областей, в том числе включать в себя задачи из новой или старой версии языка. Особенности браузеров, работы с HTML, приемы и хитрости связанные с jQuery и т.д. Само собой разумеется, вопросы будут касаться и алгоритмических проблем, работы с […]

Big O. Сложность алгоритмов.

Множество программистов, которые пишут крутые и полезные программы, подобно тем, что мы видим в Интернете, или ежедневно используем, не имеют достаточной теоретической базы в области информатики. Несмотря на это, они все же создают интересные решения и мы им благодарны за это. Однако, теоретические познания в информатике могут быть весьма полезными. […]

Symfony. Routing — компонент маршрутизации.

Компонент маршрутизации связывает HTTP запрос с набором заранее сконфигурированных данных. Установка Вы можете установить компонент двумя способами: Через Composer (symfony/routing – проект packagist.org) Используя официальный Git репозиторий (https://github.com/symfony/routing) Затем, подключить автозагрузчик vendor/autoload.php, который предоставляет Composer. Иначе, ваше приложение не сможет найти необходимые для компонента классы.

Symfony. Компонент HttpFoundation.

Компонент HttpFoundation, позволяет взаимодействовать с HTTP через объектно-ориентированный подход. В PHP, запрос представлен, как совокупность глобальных переменных ($_GET, $_POST, $_FILES, $_COOKIE, $_SESSION, …), а ответ формируется с помощью некоторых функций (echo, header(), setcookie(), …) Компонент Symfony – HttpFoundation – заменяет упомянутые глобальные переменные и функции, предоставляя объектно-ориентированный слой.