Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #67, ИЮНЬ 2006 г.

реализация идеи в коде

АНТОН СКОРОБОГАТОВ

Спецвыпуск: Хакер, номер #067, стр. 067-038-4


RoR вобрал в себя практически все паттерны объектно-ориентированного подхода к программированию. Самым востребованным шаблоном является Active Record. Часто программисты пытаются облегчить процесс выборки информации из базы данных — пишут различные собственные функции, обобщают SQL-запросы. Простым и гениальным решением для них может стать паттерн Active Record, созданный Мартином Фаулером.

[сравним два листинга:]

$sql = “SELECT * FROM people WHERE person_id = ‘1’”;

$res = mysql_query($sql);

@person = Person.find(1)

Чувствуется разница. Во втором случае (после взятия из БД) person является объектом, и можно производить над ним разные действия, которые будут отражены в базе данных. Играючи выбираем данные по разным параметрам, из связанных таблиц и т.д. Не нужно подолгу размышлять о SQL-запросах: просто определи, что нужно именно тебе, и сразу же начинай воплощать это в коде. Кодерство осталось в прошлом, будущее принесет тебе Rapid Application Development (быстрая разработка приложений) и звание разработчика.

В шаблонизаторе RoR имеется множество встроенных помощников (helpers), позволяющих реализовывать AJAX-вызовы и визуальные эффекты не выходя за рамки языка Ruby. Все это чудо происходит за счет библиотеки Prototype и ее спутника Script.aculo.us.

[волшебство Script.aculo.us.]

JavaScript давно стал «нашим всем» — с тех времен, когда все таскали с одного и того же ресурса скрипт с падающими снежинками и размещали его у себя на сайте. Эх, куда ушли те времена... Слава светлым силам, что они прошли: JavaScript использовался только для бесполезного украшательства. Сейчас же в основном его применяют для повышения usability. Конечно, иногда налицо перерасход фантазии, но это лишь «перегибы на местах».

JavaScript, как и Ruby, — объектно-ориентированный язык. Видимо, поэтому PHP-программисты часто не дружат с ним и пытаются найти способ облегчить свои страдания при написании простеньких скриптов, пока не найдут священный Грааль — библиотеку Prototype. В первую очередь она привлекает внимание к себе замечательной по простоте функцией $ (доллар). Этот знак хорошо знаком всем нам не только по многочисленным обменникам валют, но и по языку PHP. В Prototype этот знак заменил сложную конструкцию document.getElementById(‘id’). Получается, что, обращаясь $(‘id’), ты работаешь с любым элементом на странице так, как будто работаешь с переменной. Очень удобно!

Начиная с версии 1.5.0 в Prototype также имеется функция «два доллара» ($$) — в два раза дороже одного доллара. Воспользовавшись этой функцией, ты обращаешься к целому семейству элементов массива, основываясь на правилах css-селекторов. $$(‘p.left’) — получаешь коллекцию абзацев, которым присвоен класс left.

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

для всех ссылок на странице, имеющих класс alert, перед загрузкой ссылки вывести окно с адресом ссылки

Назад на стр. 067-038-3  Содержание  Вперед на стр. 067-038-5