Hola
hIUG !
No es eso, amfphp y webord te dan la posibilidad de llamar a métodos remotos de clases en PHP desde Flex.
Por ejemplo, hacemos una clase en php llamada usuario, esta tiene un método getById, que te devuelve un usuario de acuerdo al id que tiene en la base de datos:
Usuario.php Código PHP:
class Usuario
{
private $_link;
public function __construct()
{
$this->_link = mysql_connect('localhost', 'root', '');
mysql_connect_db('basededatos', $this->_link);
}
public function getById($id)
{
return mysql_query('SELECT * FROM usuarios WHERE id_usuario = ' . $id, $this->_link);
}
}
El constructor se encarga de conectarnos a la base de datos, y en el cuerpo del método getById retornamos el resultado de la consulta, esto es lo que se va a mandar a flex.
Ahora en la parte de flex:
Código actionscript:
Ver original<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
creationComplete="init()"
>
<mx:RemoteObject
id="remoteObject"
destination="GenericDestination"
source="Usuario"
showBusyCursor="true"
result="onResult(event);"
fault="onFault(event);"
/>
<mx:Script>
<![CDATA[
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
private function onResult(event:ResultEvent):void{
trace(event.result)
}
private function onFault(event:FaultEvent):void{
trace(event.fault.faultString)
}
private function init():void{
remoteObject.getById(1);
}
]]>
</mx:Script>
</mx:Application>
La clase RemoteObject es responsable de llamar a los métodos de clases en servidores remotos, así que creamos una instancia de RemoteObject, el atributo id indica el nombre de la instancia, source indica el nombre de nuestra clase en php a la cual llamaremos, en este caso Usuario, result y fault hacen referencia a eventos, cuando llamemos al método remoto getById, se ejecutará el método al cual hace referencia, si se llama de manera exitosa se ejecutaría onResult en caso contrario onFault.
Por último en el método init, llamamos al método getById de la clase Usuario para obtener el usuario con el id 1, si todo sale bien, se llamara al método onResult avisando que se han obtenido los datos, event.result contiene esos datos.
Si quieres ver el contenido del atributo result, puedes colocar un breakpoint, dando doble click en el número de línea donde se encuentra, va a aparecer un puntito rojo, corres el proyecto en modo de depuración (botón del insecto verde) y cuando se ejecute el método onResult, el depurador nos avisará, te vas a la opción de variables, y buscas el objeto event, luego vas a su atributo result y exploras los valores que contiene.
Antes de esto tienes que instalar weborb, así que te dejo un tutorial:
http://www.cristalab.com/tutoriales/...-weborb-c243l/ Un saludote !