Обратите внимание, что новости можно получать по RSS.
X
-

Информационные технологии, LiveJournal cr_it - архив

16 марта 2010, 17:42 (5748 дней назад, №8786)Про MVC фреймворки для Flex, а также про AMF и PDO
Понадобилось тут написать систему для редактирования некоторых данных (ip диапазонов) на сервере, используя Flex для клиентской части и PHP для серверной. Одним из желаний было сделать всё более-менее правильно, т.к. процедурный подход, хорошо работающий на простых задачах, здесь уже создавал ощутимые проблемы. Помимо этого, от изобретения велосипедов (в виде XML пакетов) для обмена данными между клиент-сервером тоже хотелось отказаться.

Почитав, что пишет народ и посмотрев на исходники двух наиболее известных MVC фреймворков - PureMVC  и Cairngorm,  решил их не использовать, посчитав что сложность не соответствует задаче.
Стал смотреть другие фреймворки. Их много, например: FlashMVC, Riawave, Mate, EasyMVC, Dawn, RobotLegs, Vyana.

Я остановился на EasyMVC by Tom Bray (существует еще другой EasyMVC, так что автор важен). EasyMVC [ 1, 2, 3, 4, 5] - даже не совсем фреймворк - это скорее простой и понятный пример, который легко модифицировать под нужную задачу. Единственное что там не хватает, на мой взгляд, - это красивой реализации Commands (всё делается в Controller'e).

Со стороны сервера, EasyMVC подрузамевает использование AMFPHP (т.е. обмен данными происходит в адобовском бинарном формате AMF).
AMFPHP  - уже довольно старая разработка, но несмотря на это интенсивно используется. Автор её забросил (он теперь работает над ZendAMF , который подрузамевается использовать в связке с Zend ) но подхватил другой человек. Короче говоря, AMFPHP мне понравился.
Существует некоторая путаница с версиями AMFPHP. Последняя версия - 0.9.2. В феврале 2010-го новый автор написал, что работает над 2.0. В версии 0.9.2. есть ряд отличий от 0.9. В частности, по вопросу аутентификации советую сразу погуглить слово beforeFilter.

Помимо AMFPHP и ZendAMF можно ещё посмотреть в сторону SabreAMF  и WebORB. Да, кому интересно - если серверную часть писать для Google App Engine на Python'e, то существует как минимум PyAMF (в связке с Flex приложением работает, я лично пробовал).

Ещё, к слову о правильности, на серверной стороне, для работы с разными БД из PHP, понравился PDO.
Выглядит это так (пример использования prepared statements):

try
{
    $this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);

    $st = $this->db->prepare("
        DELETE FROM ip_base
        WHERE id = :id
        ");

    $res = $st->execute( array(':id' => (int)$vo[id]) );

}//try
catch(PDOException $e)
{
    return $e->getMessage();
}//catch

Вот здесь еще примеры про PDO.

Опубликовано: Пётр Соболев

Случайная заметка

4474 дня назад, 23:5710 сентября 2013 Довольно странная книжка. Прямо вот читать её я бы не советовал (автора заклинило на рекурсии и он написал об этом 600 страниц мрачного гуманитарно-математического текста, из которого можно было бы сделать просто отличную книжку страниц на 50). Но если есть желание эти страницы там найти, можете потратить время) Понравилась ...далее

Избранное

3141 день назад, 01:575 мая 2017 Часть 1: От четырёх до восьми Я люблю читать воспоминания людей, заставших первые шаги вычислительной техники в их стране. В них всегда есть какая-то романтика, причём какого она рода — сильно зависит от того, с каких компьютеров люди начали. Обычно это определяется обстоятельствами — местом работы, учёбы, а иногда и вовсе — ...далее

2653 дня назад, 20:305 сентября 2018 "Finally, we come to the instruction we've all been waiting for – SEX!" / из статьи про микропроцессор CDP1802 / В начале 1970-х в США были весьма популярны простые электронные игры типа Pong (в СССР их аналоги появились в продаже через 5-10 лет). Как правило, такие игры не имели микропроцессора и памяти в современном понимании этих слов, а строились на жёсткой ...далее