2011-07-26 59 views
0

我使用wamp服務器和Propel.I使用Propel編寫了我的服務,但是當我想連接從服務返回的數據時Flex無法識別返回類型。爲flex配置propel返回類型

這是PHP代碼,我寫

<?php 

// Include the main Propel script 
require_once 'C:/wamp/propel/runtime/lib/Propel.php'; 

// Initialize Propel with the runtime configuration 
Propel::init("C:/wamp/www/school/build/conf/school-conf.php"); 

// Add the generated 'classes' directory to the include path 
set_include_path("C:/wamp/www/school/build/classes" . PATH_SEPARATOR . get_include_path()); 

class TeacherService { 
function getTeachers() 
{ 

$allTeachers=TeacherQuery::create()->find(); 

$teachers=array(); 
foreach($allTeachers as $teacher1) 
{ 

    array_push($teachers, $teacher1); 

} 

return $teachers; 
} 
} 
?> 

我wanto又顯示teacers的DataGrid中的信息時,我選擇自動檢測返回類型它給人的錯誤

'teacher' cannot be set to the data type "StdClass" because it has no properties. 

如何讓flex知道由propel返回的教師行的屬性?

+0

我添加了PHP標籤b/c,您似乎只提供PHP代碼。我個人不知道推動是什麼。 – JeffryHouser

回答

0

@ www.Flextras.com Propel是一個PHP ORM框架。

如果你想序列化到你的PHP類工作,你就必須有這樣的事情

var $_explicitType = "path.to.classes.Teacher"; 

,並在你的Flex端VO的,你就必須有這樣的事情。

[Bindable] 
[RemoteClass(alias="path.to.classes.Teacher")] 

這假定您正在使用AMF。同樣在你的AMF端點你必須指定映射,所以例如我在我的端點文件中會有這樣的事情。

$server->setClassMap('path.to.classes.Teacher' , 'path\to\classes\Teacher'); 

這可以讓你的終點知道,當它看到了一類具有匹配描述符,它的類在PHP端應該將反序列化。