问题标签 [zend-amf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache-flex - AMF 类映射不起作用
我正在使用 Flex 4.5 和 Zend_AMF 作为我的 AMF 端点来构建应用程序。
我想将 PHP 中名为 CRequest 的类映射到 Flex 中名为 Request 的类。
这是我的 php 类:
这是动作脚本类:com.site.remote.Request
作为测试,CRequest
无论请求是什么,我都让端点从 PHP 端返回一个实例。
然后我像这样进行远程对象调用:
问题是结果返回键入 asObjectProxy
和 not Request
。我究竟做错了什么?
apache-flex - 从 flex 回到 PHP 的 AMF 类型对象
昨天,根据这个问题,我成功地使用 Zend_AMF 将类型对象从 PHP 应用程序发送到 flex 前端。
我现在面临的问题是我想将一个类型化对象从 flex 发送到 PHP,并且在 PHP 端,能够将它作为类型化对象而不是stdClass
.
这是 flex 中的类:
这是PHP中对应的类:
在 flex 中,我像这样发送对象:
在 PHP 端,对象被检索到一个名为$parameters
. 然后我在其上使用 print_r 将结果写入文件:
可以看出,结果返回无类型并且是一个stdClass
对象:]
经过一些测试,我从 PHP 对象中删除了命名空间并将其移至全局命名空间。这似乎解决了这个问题。我已经尝试设置RemoteClass
为\modules\testing\CTest
和modules.testing.CTest
。$_eplicitType
然后将两个测试设置为相同的值。
结果是,当我使用 时modules.testing.CTest
,这是 Zend_AMF 看到的类名。如果我使用名称空间表示法,Zend_AMF 会看到modulestestingCTest
,因为所有的斜线都被去掉了。
但是我怎样才能让它与 php 命名空间一起使用呢?
apache-flex - 创建 AMF 包装器
我正在创建一个移动应用程序,它将连接到 zendamf 实现以检索某些信息以存储并显示给用户。
网关上有多个 php 类来处理用户、订单、产品等。
因此,我将有一个名为 remotehandler 的包,它下面有类,remotehandler.orders remotehandler.product,remotehandler.users。这意味着对于每个班级,我可以执行以下操作:
而不是为每种类型的调用创建一个连接我想做很多次我在想为每个调用族IE创建一个包装类可能会更好
用户
- createUser - 调用一个 php 函数来创建用户
- 删除用户
- 更新用户
经过一番搜索,我发现了这篇文章 http://flexdevtips.blogspot.com/2009/05/using-flex-and-amfphp-without-services.html ,它展示了如何在代码中处理网络连接。但如果您打算打一个电话,它就会写出来。
有没有人对我如何将其转换为允许我特定不同源(php 类函数)的类有任何想法或示例。
谢谢
雅克诺
flash - Flash 对本地 Zend_amf 服务没有响应的原因可能是什么?
我(实际上是我的同学)在 Windows 7 (XAMPP) 上加载本地 ZEND_AMF 服务时遇到问题。我在 Google 或 Stackoverflow 上找不到任何答案。我发现了一个没有任何答案的类似主题:ActionScript 3 AMF Zend
让我描述一下这个问题:我已经为 FLASH CS5 中的记忆(匹配)游戏开发了 UI 和数据加载。游戏使用来自 ZEND 框架网站的数据(您可以在那里添加关卡/卡片/图像)。它是这样发生的:
在我的 Macbook Pro 上一切正常(使用 MAMP 作为本地服务器),但我的一个同学(正在帮助它)使用带有 XAMPP 的 Windows 7 笔记本电脑没有看到任何东西。我们都使用 Flash CS5.5。
由于某种原因,他的 Flash 无法加载本地服务。当他像我一样使用相同的 URL 路径时,Flash 不会在响应程序中执行任何操作。没有错误函数调用和没有完整函数调用。我们一直在寻找原因并尝试了几件事。
在 Internet 上的 ZEND_AMF 教程中,我们找到了在线 AMF 服务并将其放入代码中。当然,我们使用的是不存在的服务函数,因此响应者将调用错误函数。是的,这行得通。他运行函数returnError()
。
这个问题的原因很明显:我同学PC上的Flash(使用XAMPP)不会加载本地服务。
有谁知道这个的解决方案?
什么不是解决方案:
- 允许 swf 与非本地 URL 对应(这是您必须将 swf 添加到 Flash 设置的选项)=> 已经发生
flash - 将数据从 Flash CS5 发送到 Zend_AMF 服务时为空 var
在使用 Flex 和 Zend_AMF 之后,我现在正在为另一个使用 Flash CS5 和 Zend_AMF 的项目(小游戏)工作。只要我管理服务中的所有参数,就可以完美地检索数据。我正在使用此代码从 Servie 获取数据:
但现在我想根据我随服务发送的 ID 获取数据。我一直在测试出了什么问题,我注意到我的“发送”变量在 Zend 中总是为空。我正在像这样使用 Zend 文档中的代码。我想发送“1”作为我的 ID。我的服务中的功能工作正常,问题不存在。我认为他并没有真正发送变量。这是我使用的代码
有人知道这个的解决方案...?
提前致谢
zend-framework - 如何在 zend_amf 中使用 Doctrine 实体作为值对象?
我在 Zend 框架中使用 Doctrine,我想使用现有的实体类作为值对象。
我能看到的主要障碍是如何处理映射。我不想丢失有关关联的信息。
有没有人有这方面的经验?
apache-flex - 如何检查 Zend_amf 中的类是否正确映射?
我已经在 flex 端成功配置了 AMF。客户端正在发送消息,但作为回报,它总是得到空响应(标头,但没有正文)。
如何调试 index.php?如何检查类是否正确映射?
这是我的index.php
:
和AmfService.php
:
php - Flex 正在反序列化 Zend AMF 中的通用对象,而不是严格类型的对象
我正在使用 Zend AMF 将我的远程对象发送到 Flex。
我已经定义了一个Constant
类并创建了getASClassName()
方法。然后我在 flex 中创建了 Action 脚本类。
对象发送成功,但它们Objects
在 Flex 中被反序列化为泛型而不是特定的。
编辑:在 Flex 的网络监视器上,我可以看到 AMF 值设置为com.my.project.valueobjects.Constant
. 虽然来自event.result
contains的数组Objects
。
我究竟做错了什么?
类的php声明:
flex中的类定义:
php中处理amf的部分代码:
来自 php 的对象数组(使用 转储print_r
):
actionscript-3 - 如何使用 Zend Framework AMF 将 PHP DateTime 类映射到 ActionScript / Flex Date 类
背景
好吧,我是那些从不提问的人之一,他们通常可以从现有的问题或论坛中找到我需要的东西....但是,过去几天我一直在试图解决这个问题并提出了非常现有资料很少。
我正在使用 Flash Builder 4.6 for PHP Premium 构建一个 Flex 应用程序,该应用程序使用 PHP Zend Frameworks 的 AMF 功能将类从 PHP 映射到 Flex,并将它们用作来回发送的对象,而不是使用 XML 或 JSON。现在,为了方便起见,我正在一台本地机器上完成所有操作。
问题
我没有遇到将我自己的自定义 PHP 类映射到 ActionScript/Flex 类的问题,但我终其一生都无法将DateTime
PHP 类映射到 ActionScriptDate
类。我在其他地方读到它会自动将对象映射DateTime
到Date
对象,但我从来没有让它工作。
valueObjects.DateTime
奇怪的是,如果我将所有实例(在我的情况下,自动生成的 ActionScript 类)替换为具有该属性Date
的类中,我可以让它工作。这基本上迫使 Flex 将该属性的数据解释为. 但是,由于所有文件都是 Flex 自动生成的文件,因此每当我在 Flash Builder 中刷新或编辑 Flex 链接到的任何 PHP 服务时,它都会被重写。_Super_Foo.as
DateTime
Date
_Super_XXX.as
评论
我当然可以通过将变量保留为字符串(它来自 MySQL 的 DateTime 字段)来快速而肮脏地做到这一点,然后创建一些函数将其转换为Date
客户端的对象,但我需要一个更永久的和稳定的解决方案。
例子:
应该去--->
但我得到
我尝试过以下方法:
在gateway.php文件中
/li>改用Zend_Date对象
/li>在尝试明确地映射它之后
/li>我目前在_Super_Foo.as文件中所做的更改(经常被重写)
至
我只需要它像我读过的那样自动执行此操作。
apache-flex - Flash builder + Zend amf | 第二次调用时插入功能不起作用
我正在使用由 Flash Builder 4.6 自动生成的标准 createOrders 函数。使用一次时效果极佳。这是代码:
当第二次单击相同的按钮并因此启动 okButton_clickHandler 时,数据不会插入到数据库中。我添加了带有trace("saved"); 的结果处理程序;我看到的是“保存”是在第一次点击时写的,但不是第二次。
我还使用查尔斯查看是否第二次发送请求。不,不是。
编辑 刚刚尝试生成自动生成表单。只需要添加 commit(); 因为 else 请求没有被发送。这是保存问题——请求仅在第一次单击按钮时发送。
编辑 2 所以所有的问题实际上是 ordersService.createOrders(orders2); 只工作一次。因为如果我尝试
数据库中只添加了一行。有任何想法吗?