Nivo Slider – лучший выбор

Недавно назрела необходимость найти хороший настраиваемый слайдер на основе Jquery, где можно показывать большие красивые картинки с приятными эффектами смены. Долго бродил по просторам Google’а  и никак не мог найти решение по душе с приятным внешним видом и дружелюбной документацией, но все же нашел. Сначала понравилась вот эта вещица. Решил покопаться в коде и нашел таки, что же это за слайдер. Итак, это был Nivo Slider. Подробнее

Zend Framework. Используем технологию Ajax.

Сегодня попробуем написать что-нибудь на Zend Framework с использованием технологии Ajax.  Надо сказать, что ZF довольно гибок и легко подцепляет различные сторонние библиотеки (не говоря уже о ваших собственных). Это я к чему? А к тому, что использование асинхронных запросов к серверу зачастую на практике организует с использованием каких либо библиотек или фрэймворков. Для меня наибольший интерес представляет jQuery. Не буду вдаваться в подробности почему, ведь многие и так знают все его удобства. jQuery можно использовать не только для создания визуальной привлекательности вашим страницам. Он имеет кроме всего этого довольно мощный функционал по созданию и управлению XHR объектами. Касаемо интеграцией с ZF тут проблем нет – подключай .js в bootstrap’е и вперед. Для любителей полной интеграции с PHP есть такая библиотека какjQuery-PHP. На своем опыте я ее не испытывал, но с первого взгляда преимущества там есть. Но давайте отложим в сторону все библиотеки кроме самой jquery.js, и попробуем написать маленькое приложение, где будут выводится “советы дня”. Подробнее

MySQL и триггеры. Тонкости и особенности.

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

Триггер можно создавать всего на 3 события INSERT, UPDATE, DELETE. Для каждого из этих событий есть возможность управлять моментом срабатывания триггера: “до” события, “после” события. Итого, со всевозможными комбинациями получаем 6 типов триггеров.
Подробнее

CSS меню в стиле Web 2.0.

Для создания CSS навигации, нам потребуется 2 графических элемента, которые можно получить из статьи о рисовании web 2.0 менюшек. Это градиентная полоска на всю ширину и маленький треугольник для отметки текущего раздела сайта. Остальное мы создадим с помощью CSS.

Для нашего CSS меню мы используем обычную разметку списка ul с элементами li в качестве пунктов меню.
Подробнее

Распределение трафика. Объединяем все партнерки.

Недавно родилась мысль написать скрипт для хорошего распределения трафика между всеми своими партнерками. Использовать чужие не всегда удобно, ведь своя рубаха ближе к телу. К тому же его можно всегда расширить без проблем.

Итак, начнем. Основная идея такова: создадим нечто вроде очереди, замкнутой в кольцо. В очереди каждый узел – это отдельный URL платника. Далее при обращении к скрипту происходит выбор. Я организовал 2 типа выбора из набора платников: равномерный рандом и выбор по очереди в цепочке. Давайте начнем смотреть на код и станет все понятно.

Первое – это класс отдельного узла. Как я говорил узел – это URL платника с определенной служебной информацией.  Рассмотрим:
Подробнее

Ajax запрос на основе jQuery и PHP.

В прошлой статьей про получение фото с Flickr мы использовали API, предоставленное самим сервисом. В этой статье мы опишем каким образом можно организовать асинхронные запросы к серверу с получением данных на том же примере Flickr. Подробнее

Работа с Flickr API. Поиск фото средствами PHP.

Новый раздел сайта – новая серия статей. На сей раз я решил опубликовать переводы статей ряда иностранных авторов. Я выбирал самые, на мой взгляд, интересные и полезные с практической точки зрения. В каждой из статей будут сохранены полезные ссылки на документацию. Перевожу не так часто, поэтому пишу не дословный перевод текста, а скорее пересказ близкий к оригиналу. Для любителей читать “из первых рук” я обязательно опубликую в конце ссылки на источник. Итак, начнем. Подробнее

Zend Framework. Route_Regex.

Продолжаю цикл статей про использование и возможности роутера и роутов. Если вы не читали предыдущих частей, то рекомендую начать с них: часть-1, часть-2, часть-3.

В этой статье поговорим о самом мощном и гибком роуте из тех, что предоставляет нам Zend Framework. Это Zend_Controller_Router_Route_Regex.
Подробнее

Шаблоны проектирования. Facade.

Поговорим еще об одном шаблоне, который обеспечивает гибкую структуру классов, Facade. В целом ничего нового он из себя не представляет, и он весьма и весьма понятен, но стоит упомянуть и его.

Да, возможно название слишком громкое, но суть важна. А суть проста. Так или иначе нам всегда приходится иметь дело с классами других разработчиков или же со своей же меняющейся системой. В общем случае не важно даже классы это или процедурный код. Факт в том, что мы взаимодействуем с определенными интерфейсами.
Подробнее

Шаблоны программирования. Decorator.

Еще один довольно гибкий шаблон, о котором стоит поговорить – Decorator. Он отлично показывает насколько композиция может быть мощнее наследования.

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

Zend Framework. Route_Static.

Продолжаем цикл статей о роутах и роутинге. Если вы не читали предыдущих частей, то я рекомендую начать с них для более полной картины:  часть-1, часть-2.

Итак, эта статья посвящена наверно самому простому (кроме дефолтного :)) типу роутов – Zend_Controller_Router_Route_Static. Создание и регистрация его в роутере похожа на Zend_Controller_Router_Route, но есть пара особенностей.
Подробнее

Шаблоны проектирования. Composite.

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

Zend Framework. Роутинг. Роутер.

Роутинг – важный этап при работе веб-приложения, работающего на основе Zend Framework. Работа с роутерами и роутами может быть как тривиальной, так и сложно организованной. Все зависит от нужд и уровня сложности того или иного веб-приложения.

В этой статье мы рассмотрим роутеры и особенности работы с ними. Далее в цикле статей будут освещены все виды роутов, использующихся в Zend Framework.
Подробнее