[英]casting from FLEX to PHP
AS3代碼
<fx:Declarations>
<!-- this is the RemoteObject used to make the RPC calls -->
<mx:RemoteObject id="myRemote" destination="MyService" source="MyService"
endpoint="http://localhost/amfphp/gateway.php"
showBusyCursor="true"/>
</fx:Declarations>
protected function button1_clickHandler(event:MouseEvent):void
{
var aut:VOAuthor; // value object class
aut = new VOAuthor();
aut.id_aut = 3;
aut.fname_aut = "test";
aut.lname_aut = "123";
myRemote.saveData(aut);
}
接收PHP代碼
public function saveData($author)
{
$mysql = mysql_connect("localhost", "mx112", "xxxxxx");
mysql_select_db("flex360");
$query = "INSERT INTO authors (fname_aut, lname_aut) VALUES ('".$author->fname_aut."', '".$author->lname_aut."')";
$result = mysql_query($query);
return $author;
}
<?php
class VOAuthor {
public $id_aut;
public $fname_aut;
public $lname_aut;
var $_explicitType="org.corlan.VOAuthor";}
?>
Flex網絡監視器響應:原始視圖
{lname_aut=123, _explicitType=org.corlan.VOAuthor, fname_aut=test, id_aut=3}
但是,如果我在php代碼的末尾這樣做
return $author->lname_aut;
網絡監視器響應為NULL
所以問題是我可以打印數組,但如何將數組轉換為已知的php類型? 5天后,我終於想出了使用amfphp的flex和mysql,請幫忙嗎?
是的,您需要注冊您的課程,另一種選擇是在Flex VO聲明中使用元數據標簽。
package VO
{
[RemoteClass(alias="org.corlan.VOAuthor")]
public class VOAuthor
{
private var id_aut : int;
public var fname_aut : String;
public var lname_aut : String;
...
希望能有所幫助,
羅傑
PS。 可以在這里找到更詳細的說明(對我有幫助): http : //www.brentknigge.com/?q= node/ 499
如果使用amfphp和Flash,則必須注冊VO:
import org.corlan.VOAuthor;
// ...
registerClassAlias("org.corlan.VOAuthor", VOAuthor);
只有這樣PHP才能識別您要從ActionScript發送它的對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.