понедельник, 14 февраля 2011 г.

Прелести Цепочек (chain) в фреймворке Catalyst

Цепочки в Catalyst это последовательность методов, позволяющая работать с сотавными урлами вида
 
/somewhere/*/somewhat/new
/somewhere/*/somewhat/*/edit
/somewhere/*/somewhat/list
/somewhere/*/somewhat/*/delete

среда, 9 февраля 2011 г.

DBIx::Class переопределение основных методов класса

Довольно часто возникает необходимость вместе с запросом к базе произвести ещё какие либо действия. Причём произвести их для любого запроса данного типа (INSERT, SELECT и пр.). Ну например, нужно налету преобразовывать кодировку таблицы или столбца таблицы или при сохранении записи закодировать одно из полей, а при считывании раскодировать. Ну или подсунуть время с изменённым часовым поясом... в общем много применений.

Так вот, всё это очень легко делается для DBIx классом DBIx::Class::Row Он содержит все низкоуровневые вызовы основных методов работы с DBIx::Class::ResultSource объектами.