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

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

16 марта 2010, 17:42 (5594 дня назад, №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.

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

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

8742 дня назад, 00:322 августа 2001    Итак, на официальном сайте Assembly скоро уже не будет видна надпись "Asm01 is coming. Are you?". Уже меньше чем через 12 часов будут открыты для гостей двери Hartwall Areena, крупнейшего стадиона Финляндии.    В этом году будет юбилей акции - она проводится уже в десятый раз. Крупнейшее в мире событие, посвященное компьютерному underground искусству ...далее

Избранное

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

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