Бесплатная поездка Uber: промокод

Не так давно в городах России заговорили о приложении Убер, с его помощью можно вызвать такси онлайн быстро и недорого. Uber берет свое начало в Сан-Франциско. Именно там и зародилась эта всемирно известная компания, которая с успехом распространилась в более чем 55 странах мира. Изначально это было что-то вроде поиска попутчиков, но позднее превратилось в полноценный вид услуг. Чем же именно так нравится клиентам и водителям данное приложение. Подробнее

Интерфейсы для трейтов

Трейты в PHP не просто удобный инструмент копирования и вставки кода там, где это нужно. Они имеют свои особенности и интересные применения. Но помимо всего прочего, с помощью небольших улучшений их можно сделать реально полезнее и удобнее в использовании.  Подробнее

Yii2: укрощение RBAC

Yii 2, впрочем как и Yii 1, поддерживает принцип распределения прав под названием RBAC. Для тех кто не в курсе, это принцип управления доступом на базе ролей, подробнее можно почитать тут.

Для тех же, кто в курсе, не надо рассказывать какая хитрая и не очевидная для отладки может получиться иерархия. Чем больше ролей и прав, тем проще в этом запутаться и восстанавливать представление в голове вновь и вновь по “сухому” коду. Подробнее

Yii2: создаем свой обработчик ошибок

Совсем недавно, при реализации одного проекта на Yii2, столкнулся с проблемой подключения собственного обработчика ошибок. Проблема была в том, что мало того, что этого не удавалось сделать налету, так еще и задание класса обработчика из конфига не давало эффекта, т.к. alias @app не регистрируется на тот момент в приложении. Подробнее

Введение в Ctype функции

Ctype расширение предоставляет целый набор функций для проверки того, что символы строки относятся к корректному типу. Это расширение доступно по умолчанию начиная с PHP 4.2 и выше.

Если вы когда-либо программировали на C, то вы возможно знакомы с функциями определения типа символов. Если нет, то самое время познакомиться с их реализацией в PHP. Подробнее

Протокол HTTP: все что нужно для веб-разработки. Часть 1

HTTP расшифровывается как “Протокол передачи гипертекста” и является протоколом прикладного уровня для передачи данных между распределенными системами. В настоящий момент именно он является основополагающим элементом в построении Веба. В отличие от многих других протоколов передачи HTTP не сохраняет своего состояния между запросами. Каждый веб-разработчик должен быть хорошо знаком с особенностями данного протокола и порядком его работы. Это весьма полезные знания, которые нужны в процессе разработки любого веб-приложения. Подробнее

Retina: проводим проверку сайта

Еще совсем недавно компания Apple представила миру свои девайсы с инновационным дисплеем Retina, а у веб-разработчиков уже появились серьезные проблемы. Дело в том, что страница одного и того же сайта может выглядеть совсем по-разному на Retina и на обычном дисплее. Все дело в огромном DPI у Retina. Любая графика начинает выглядеть замыленной, с явной пикселизацией, ведь 1 пиксель CSS становится равен квадрату 2×2 на Retina. Существуют методики подмены графики на экранах с таким pixel-ratio, но сейчас не об этом. Подробнее

Интерфейсы или Абстрактные классы?

PHP разработчики имеют широкий набор полезный инструментов для объектно-ориентированной разработки. Начиная от предметных моделей, заканчивая концепциями абстрактных классов и интерфейсов. Разработчик может использовать каждый инструмент по-своему и предложить свой набор интересных решений. Подробнее

PHP5.5: Try/Catch/Finally

Обработка исключений доступна в PHP, начиная с 5-ой версии. Это позволяет иметь более предсказуемый код в случае, если что-то идет не так и возникает исключение. Но, начиная с версии 5.5, обработка исключений развилась до того уровня, каким язык должен был обладать с самого начала, а именно, появилась “finally“-часть Подробнее

QueryLoader. Красивая загрузка, но….

Недавно столкнулся с задачей по сокрытию процесса загрузки тяжеловесной страницы. На ум сразу пришел известный плагин для jQuery под названием QueryLoader. Суть его проста, пока не загрузится вся страница целиком со всеми картинками, мы будем видеть overlay с progress bar. По желанию там все отлично кастомизуется либо через css, либо прямо через код плагина. Можно добавить различные объекты на overlay и прочее. Подробнее

Яндекс карты. Делаем свою карту меток

Захотелось рассказать о своем недавнем опыте создания карты меток. Задача состояла в следующем: необходимо создать на основе API Яндекс карт свою карту меток с возможностью добавления новых меток , редактирования старых, удаления. Метки могут быть разных типов и должны отличаться иконками. Кроме того, необходимо учесть возможность создания ссылок на метки. Сделать это необходимо в виде модуля к существующему сайту и в дальнейшем встроить туда. Подробнее