Лучший метод для Flex к коммуникации PHP?

Вероятно, самым чистым способом достижения этого является использование обратного вызова before_destroy в ModelA для вызова требуемой функции на всех связанных с ней ModelB с

class ModelA < ApplicationRecord
  has_many :model_bs, dependent: :destroy

  before_destroy { |model_a| model_a.model_bs.each { |model_b| model_b. action_only_if_model_a_exists } }
end

Конечно, action_only_if_model_a_exists ] не нужно быть приватным.

Кроме того, вы захотите рассмотреть, сколько model_bs будет иметь любой данный model_a, и при необходимости рассмотрите возможность использования in_batches, а не each.

ОБНОВЛЕНИЕ

Хорошо, основываясь на вашем обновленном объяснении, и мое понимание теперь противоположно тому, что было раньше, как насчет следующего?

class ModelB < ApplicationRecord
  belongs_to :model_a
  after_destroy :action_if_not_called_from_model_a

  private

  def action_if_not_called_from_model_a
    if !caller.join.match(/model_a/)
      # Do things
    end
  end
end
8
задан davr 16 March 2009 в 20:57
поделиться

11 ответов

Если Вы хотите иметь быструю и эффективную коммуникацию, я настоятельно рекомендую липкий с протоколом AMF вместо REST или пользовательского формата JSON.

ZendAMF на самом деле не очень сбивает с толку. Смотрите вводное учебное руководство на GotoAndLearn, это довольно просто.

И именно так Вы знаете, некоторые разработчики от AMFPHP, перемещенного для работы над ZendAMF. Так в некотором смысле ZendAMF является продолжением AMFPHP.

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

PHP имеет довольно хорошее serialize() функция, таким образом, для недавнего проекта я сделал (рекорды для игры), я использовал Сериализатор Sephiroth. Это делает сериализацию на стороне Flash почти столь же легкой, как это находится в PHP. Сериализатор также имеет дело с типами данных (в отличие от json/xml) как AMF.

Оборотная сторона - это не столь компактно как AMF, но это - ничто, что gzip сжатие не может обработать.

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

"Если Вы хотите иметь быструю и эффективную коммуникацию, я настоятельно рекомендую липкий с протоколом AMF"

И если Вы хотите быструю, эффективную, и обобщенную коммуникацию, пойдите с json. Затем Ваш веб-сервис будет доступен флэш-памяти, ajax, или обычным запросам HTTP.

-2
ответ дан 5 December 2019 в 14:06
поделиться

XML на PHP может быть намного более простым с SimpleXML.

Я просто использовал бы JSON в качестве Ваших возвратов для простых вызовов против Вашего API PHP.

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

Во всех проектах, включающих Flash и бэкенд PHP, я работал или с AMFPHP или с запросами XML.

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

Согласно XML, ну, в общем, что Вы получаете вот, стандартные веб-сервисы REST, и он не зависит от Flash (Вы могли вытянуть данные из настольного приложения также, например, тогда как использование JSON или любой другой технологии, зависящей от браузеров, не допускает это).

Если бы Вы хотите 100%-ю будущую "поддержку", то я рекомендовал бы то, чему не нужна никакая поддержка вообще: XML.

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

Я определенно пошел бы для WebORB. Я использовал его с.NET в предыдущем задании, которое я имел, и это была радость для кодирования с. Его простота использования и его хорошо консоль управления мыслью делает его очень быстро для изучения, и ее документация очень подробна; я знаю, что заманчиво остаться с AMF просто, потому что это - то, что Вы уже знаете, но я полагаю, что стоит, чтобы дать WebORB попытку.

Смотрите на этот скринкаст для поколения Actionscript с PHP, это довольно необычно.

Удачи.

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

Необходимо рассмотреть использование Пехлеви AMF. Платформа Зенда разработана, чтобы быть выбором и выбрала платформу, таким образом, нормально абсолютно выбирать единственный компонент (на этом Пехлеви случая AMF) для Вашего приложения.

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

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

Если Вы не используете платформу как Пехлеви, регулярный ol AMFPHP является все еще большим, если ни по какой другой причине, чем которая это просто. Я думаю, чувствуете ли Вы себя довольными им, почему бы не пойти для него? Вещь о роли этих интерфейсов AMF состоит в том, что они действительно не должны делать слишком много, и что AMFPHP действительно имеет в отображении класса, recordset анализирующий в ArrayCollection, высокая эффективность.... это даже преуспевает с XML, так как это сжато. Сервисный браузер, объединенный с Charles, покрыл меня также.

Я не смог иметь много смысла того, как усилие ZendAMF касается исходного AMFPHP. В то время как я могу вырыть, я просто говорю, что в следующем список рассылки AMFPHP на Nabble, читая блог Wade Arnold... это просто не совсем ясно.

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

Я не могу сказать Вам, что является лучшим (потому что это, вероятно, несколько субъективно так или иначе), но что я могу сделать, говорят Вам о недавнем моем проекте.

Так как это было очень богатым веб-приложением, и запросы данных к серверу были бы частыми, я хотел удостовериться, что размер запросов был как можно меньше. Этот средний JSON выбора как формат.

Затем, becuase природы приложения и того, что мои разработчики флэш-памяти/гибкого провода были на расстоянии в 1 000 миль, мне был нужен API, который был простым и не сохраняющим состояние. Это в конечном счете привело нас к HTTP + REST.

Так, коммуникационный слой моего приложения является приводимым в действие набором Платформы простого Зенда ресурсов REST с URIs как

user/10
review/15
location/8/reviews

Они все возвращают JSON. Существует общий формат JSON для всех ошибок, также (исключения захватываются и преобразовываются в объекты JSON) так, чтобы клиент флэш-памяти мог легко обработать отказ.

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

ZendAMF Хорошее короткое чтение - http://theflashblog.com/?p=441

Для меня это не brainer. Платформа Зенда является одной из лучших php платформ там, и теперь можно говорить с клиентами Flash. Завершите его поддержкой Adobe, это - заключенная сделка в моей книге.

Альтернативы:

WebORB для php http://www.themidnightcoders.com/products/weborb-for-php

AMFPHP http://www.amfphp.com при чтении URL выше Вы будете, вероятно, знать, почему это больше не находится на моем радаре.

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

Эта ссылка представляет собой скринкаст, показывающий, как использовать WebORB для PHP WDMF (WebORB Data Management for Flex).

http://www.themidnightcoders.com/products/weborb-for-php/developer-den/screencasts/weborb-data-management-for-flex-and-php.html

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

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