wal*_*rad 6 apache-flex zend-framework actionscript-3 flash-builder zend-amf
好吧,我是那些从来没有问过问题的人之一,他们通常可以从现有的问题或论坛中找到我需要的东西....但是我已经花了最近几天试图找出这个问题并提出了非常好的问题.现有的信息很少.
我正在使用Flash Builder 4.6 for PHP Premium来构建一个Flex应用程序,该应用程序使用PHP Zend Frameworks的AMF功能将类从PHP映射到Flex,并将它们用作来回发送的对象,而不是使用XML或JSON.现在,我正在一台本地机器上轻松完成所有操作.
我没有把我自己的自定义PHP类映射到ActionScript/Flex类的麻烦,但我不能在我的生活中设法将DateTimePHP类映射到ActionScript Date类.我在其他地方读过,它会自动将DateTime对象映射到Date对象,但我从来没有让它工作过.
奇怪的是,如果我将所有实例valueObjects.DateTime(自动生成的ActionScript类)替换为具有该属性Date的_Super_Foo.as类,我可以使它工作DateTime.这基本上迫使Flex将该属性的数据解释为Date.但是,由于所有_Super_XXX.as文件都是由Flex自动生成的文件,因此每当我刷新或编辑Flex在Flash Builder中链接的任何PHP服务时,它都会被重写.
我当然可以通过将变量保持为字符串(它来自MySQL在DateTime字段中)来快速而肮脏的方式执行此操作,然后创建一些函数将其转换Date为客户端上的对象但我需要更长久的稳定的解决方案.
<?php
class Foo {
public $id; // int
public $name; // string
public $date; // DateTime
public $bar; // custom object
}
?>
Run Code Online (Sandbox Code Playgroud)
应该去--->
package {
class Foo {
public var id:int;
public var name:String;
public var date:Date; // native class
public var bar:Bar;
}
}
Run Code Online (Sandbox Code Playgroud)
但我得到了
package {
class Foo {
public var id:int;
public var name:String;
public var date:DateTime; // custom class
public var bar:Bar;
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试了以下内容:
在gateway.php文件中
$server->setClassMap("Date", "DateTime");
Run Code Online (Sandbox Code Playgroud)改为使用Zend_Date对象
$foo->date = new Zend_Date($blah);
Run Code Online (Sandbox Code Playgroud)并在尝试明确地映射它之后
$server->setClassMap("Date", "Zend_Date");
Run Code Online (Sandbox Code Playgroud)我目前在_Super_Foo.as文件中工作的更改(经常被写入)
private var _internal_date : valueObjects.DateTime; // custom object
Run Code Online (Sandbox Code Playgroud)
至
private var _internal_date : Date; // native object
Run Code Online (Sandbox Code Playgroud)
我只是需要它自动执行此操作,就像我应该阅读它一样.
好吧,我必须承认,我通常在 Java 上使用 BlazeDS,而不是 Zend,但我在传输 Calendar 对象时遇到了类似的问题(我想防止丢失时区数据)。为此,BlazeDS 支持所谓的 PropertyProxy,这些组件允许接管某些类型的序列化/反序列化过程。
我认为 ZEND 会支持类似的东西。因此,另一个选择实际上是让 Zend z 支持完整的 Flex 类型。我搜索了一下,似乎 Zend 中的整个术语都不同,但我认为这篇 stackoverflow 文章应该解释一下:Zend AMF 自定义调度程序
克里斯
| 归档时间: |
|
| 查看次数: |
855 次 |
| 最近记录: |