Лучшие практики Flex? [закрытый]

Массив PHP или объект или другая сложная структура данных не могут быть перемещены или сохранены или использованы иным образом вне запущенного скрипта PHP . Если вы хотите, чтобы сохраняли такую ​​сложную структуру данных за пределами одного запуска скрипта, вам необходимо сериализовать . Это просто означает, что структура превращается в «более низкий общий знаменатель», который может обрабатываться другими вещами, кроме PHP, такими как базы данных, текстовые файлы, сокеты. Стандартная функция PHP serialize - это просто формат , чтобы выразить такую ​​вещь, она сериализует структуру данных в строковое представление, уникальное для PHP, и может быть изменено на PHP-объект с использованием unserialize. Существует много других форматов, таких как JSON или XML.


Возьмем, к примеру, эту общую проблему:

Как передать массив PHP javascript?

PHP и Javascript могут общаться только через строки. Вы можете легко передать строку "foo" в Javascript. Вы можете легко передать номер 1 в Javascript. Вы можете легко передавать логические значения true и false в Javascript. Но как передать этот массив в Javascript?

Array ( [1] => elem 1 [2] => elem 2 [3] => elem 3 ) 

Ответ - сериализация . В случае PHP / Javascript JSON на самом деле является лучшим форматом сериализации:

{ 1 : 'elem 1', 2 : 'elem 2', 3 : 'elem 3' }

Javascript может легко изменить это на реальный массив Javascript.

Это так же верно, как представление одной и той же структуры данных:

a:3:{i:1;s:6:"elem 1";i:2;s:6:"elem 2";i:3;s:7:" elem 3";}

Но в значительной степени только PHP использует его, поддержка этого формата в другом месте немного. Это очень распространено и хорошо поддерживается, но:

<array>
    <element key='1'>elem 1</element>
    <element key='2'>elem 2</element>
    <element key='3'>elem 3</element>
</array>

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

8
задан Alexandre Victoor 18 September 2008 в 19:28
поделиться

3 ответа

Я часто работаю с Flex в своем задании, и я буду рад помочь.. но Ваши вопросы заслуживают статьи для каждого :) Я попробую некоторый короткий ответ.

Код Maintenable: Я думаю, что те же правила любых других языков OO применяются. Некоторые определенные для гибкого провода правила я - использование для следования: используйте сильные переменные определенного типа, всегда полагайте, что события диспетчеризации как путь к Вашим компонентам UI говорят друг друга (немного больше начальной работы, очень гибкой и отделенной позже).

Платформы: посмотревший это, прочитайте документацию.. очень хороший, но я все еще чувствую, что их сложности не сбалансированы преимуществами, которые они предоставляют. Так или иначе я хотел бы передумать по этому вопросу..

Разговор с сервером: Прямо сейчас я использую BlazeDS, он работает очень хорошо.. существует много учебных руководств на предмете там при нахождении проблемы, настраивающей его, я был бы рад помочь.

Задержка: Вы имеете в виду в клиент-серверной связи? Если так, необходимо исследовать различный тип каналов реализации BlazeDS.. двухсторонний опрос http только для получения по запросу, псевдореальное время на http (комета).. при необходимости в больше, Услуги передачи данных LiveCycle ES, коммерческая реализация, от которой BlazeDS рождается, среди прочего предлагает другой протокол под названием RTMP, это не http-туннелировано, таким образом, может быть проблема с брандмауэрами и прокси, но это предлагает лучшую производительность (существует бесплатная версия с закрытым исходным кодом LCDS). Я использую стандарт http каналы в средах интранета и не нашел реальных проблем производительности даже с большими наборами данных.

Хорошо.. довольно много материала, не может быть более конкретно теперь по поводу каждого из этого, указывает, спросите Вас если потребность :)

5
ответ дан 5 December 2019 в 20:20
поделиться

Вот несколько больших ресурсов, чтобы сделать с лучшими практиками Flex/AS3 и стандартами:

Flex конвенции кодирования SDK и лучшие практики

Лучшие практики Flex – Часть 1: Установка Вашего проекта Flex

Первый, который я нашел особенно полезным и я пытаюсь удостовериться любая команда, с которой я работаю, все считали его

3
ответ дан 5 December 2019 в 20:20
поделиться

Я нашел платформу MVC, которую RIAWave связывают, чтобы быть абсолютно невероятными. Это супер легкий и простой в использовании. Я нашел, что Дымчатый топаз и PureMVC имели довольно крутую кривую обучения, и они оба чувствуют себя немного слишком большими для меня. RIAWave остается вне пути и просто дает Вам основы MVC для работы с.

AMFPHP на бэкенде очень хорош также. AMFPHP также имеет апачский модуль, который будет заботиться о сериализации/несериализации отправленных и полученных данных все в C, который сверкает быстро.

Если задержка будет беспокойством, то Вы захотите удостовериться, что Вы получаете хороший webhost или даже развертываетесь к нескольким дата-центрам так, чтобы Ваши пользователи никогда не были далеки от сервера. Походит немного рано для волнения об этом все же.

0
ответ дан 5 December 2019 в 20:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: