Neurons to bytes

Posts Tagged ‘php’

Использование Zend_Form без декораторов

09.08.2009 by Ouch! - 4 Comments
Posted in программерское

Лично мне использование декораторов в формах в Zend Framework никогда не нравилось, потому что это никогда не было для меня удобным. Каждый раз, когда приходилось добавлять дополнительные элементы и разметку в довольно сложную форму, это превращалось в великую головную боль.

Кроме того, я почему-то уверен, что использование декораторов в Zend Form это не лучшее решение. В настоящей действительности все чаще приходится работать с готовой XHTML разметкой, которую предоставляет верстальщик. В таком случае, программисту приходится “переводить” уже сверстанную форму в php-код. Разве это удобно, разве это способствует продуктивности? Никак нет. Просто делается лишняя работа, вместо того, чтобы подставить в нужные места формы вывод ошибок и прочего.

Но как сделать так, чтобы наша форма сохраняла функциональность валидаторов, “зашитых” в ней, и при этом мы могли бы визуально видеть разметку формы? Как ни странно, но в этом нам поможет декоратор! Read the rest of this entry »

Сортировка по значению массивов и выборок из БД

09.03.2009 by Ouch! - 1 Comment
Posted in программерское

Для кого-то эта статья покажется тривиальной, но новички могут открыть для себя что-то новое. В любом случае, советую почитать.

Иногда бывает нужно сделать сортировку списка по значению какого-то поля из этого списка. Поясню. Например, у вас есть список дел, каждое дело в списке помечено приоритетом. Бывают приоритеты (самый приоритетный, приоритетный, средний приоритет, низкий приоритет и самый низкий приоритет).

Давайте посмотрим это на примере таблицы mysql. Создадим таблицу:

CREATE TABLE `tasks` (
`id` INT NOT NULL AUTO_INCREMENT ,
`priority` ENUM( 'highest', 'hight', 'medium', 'low', 'lowest' ) NOT NULL ,
`title` VARCHAR( 255 ) NOT NULL ,
PRIMARY KEY ( `id` )
);

и добавим в нее данные:

INSERT INTO `tasks` VALUES (1, 'medium', 'Выгулять собаку');
INSERT INTO `tasks` VALUES (2, 'lowest', 'Полить кактус');
INSERT INTO `tasks` VALUES (3, 'medium', 'Сходить в магазин');
INSERT INTO `tasks` VALUES (4, 'highest', 'Захватить мир');
INSERT INTO `tasks` VALUES (5, 'low', 'Прочитать Ремарка');
INSERT INTO `tasks` VALUES (6, 'hight', 'Прыгнуть с парашютом');
INSERT INTO `tasks` VALUES (7, 'medium', 'Поспать');

Read the rest of this entry »