Comunidad de diseño web y desarrollo en internet online

AMFPHP - Tutorial inductivo. Para todos.

Citar            
MensajeEscrito el 28 Feb 2005 12:30 am
INTRODUCCIÓN

Existe la creencia de que la tecnología remoting de Flash, solo es para grandes desarrolladores ó empresas potenciales.

Yo por lo único que estaba de acuerdo en eso, es por el costo de las licencias para el lado del Servidor. Pero hace ya tiempo que surgió amfphp, una tecnología del lado del servidor, de licencia GNU/GPL. Por lo que no es necesario desembolsar una cantidad Fuerte de dinero.

TUTORIAL AMFPHP

IMPORTANTE: No te saltes ningún paso. De lo contrario no te va a funcionar.

Primer paso.-Instalando los componentes de Macromedia

Instalar los componentes Remoting de Macromedia.
De : Click aqui para bajar

Una vez que bajes los componentes, cierra Flash y vuelvelo a abrir. Para comprobar si se instalaron los componentes, hay que cumplir una de las dos siguientes opciones para avanzar al siguiente paso:

OPCION1: Si instalaste los componentes de AS 1.0, pon en una pelicula nueva este codigo:

Código :

#include "NetServices.as"
#include "NetDebug.as"

Si no te marca ningun error, se han instalado correctamente los componentes.

OPCION2: Si instalaste los componentes de AS 2.0, Ve a:
Ventana -> Otros Paneles -> Bibliotecas Comunes -> Remoting

Si se te abre un panel de biblioteca, con dos elementos uno: RemotingClasses y otro RemotingDebugClasses. Se han instalado correctamente los componentes.

Segundo Paso.- Instalar amfphp.

Ahora tenemos que descargar amfphp de:
Aqui

Se descarga un archivo zip, hay que extraerlo. Dentro hay una carpeta llamada flashservices, hay que mover unicamente la carpeta flashservices, a la carpeta raiz de nuestro servidor.

Ejemplos de donde ponerlo en Win y IIS:
_Ruta: C:\Inetpub\wwwroot\flashservices

Ejemplo en Win y Apache:
_Ruta: C:\Web\Apache\htdoc\flashservices

Ejemplo en nuestro servidor remoto:
_Ruta: www/flashservices

De tal manera, que sin importar cual sea tu servidor la carpeta flashservices la puedes referenciar asi:
http://tusitio/flashservices

Paso tres .- Creando los archivos PHP

Es muy importante en este paso descargar el editor de texto:
Programmers Notepad.
Si no lo descargas, y usas el Bloc de Notas de Windows, Macromedia DreamWeaver u otro que no sea el que te puse, vas a batallar demasiado. Ya que necesitamos un editor de texto que ponga el salto de linea de Linux "\n".

Una vez instalado el Programmers Notepad, vamos a abrirlo, le damos: File -> New -> Plain Text

Y ponemos este codigo, para crear el puente hacia nuestros servicios que hiremos creando:

Código :

<?php
    include("./app/Gateway.php");
    $gateway = new Gateway();
    $gateway->setBaseClassPath(realpath("services/") . "/");
    $gateway->service();

?>


Lo guardamos( File -> Save) dentro de la carpeta flashservices, y le ponemos de nombre: "gateway.php".
Ahora vamos a cerrar el archivo.

Para probar que todo Va bien, en nuestro navegador vamos a poner la siguiente URL.
http://tusitio/flashservices/gateway.php
Debe aparecer una ventana, que dice "Guardar archivo gateway.php como...", vamos a bajar ese archivo, en nuestra pc. Si el archivo que se guarda esta totalmente vacio, eso indica que se creo el gateway correctamente.


Vamos a crear un nuevo archivo php, con el siguiente codigo:

Código :

<?php
class holaMundo
{
    function holaMundo()
    {
        $this->methodTable = array(
            "enviar" => array(
                "description" => "Regresa hola mundo, y el texto enviado, lo transforma",
                "access" => "remote", // Posibles valores private, public, remote
                "arguments" => array ("dato")
            )
        );
    }
    function enviar($data)
    {
       $midato="Hola Mundo.\nTu usuario me enviaste: ".$data;
        return $midato;
    }
}
?>


Lo guardamos( File -> Save) en la carpeta flashservices hay una carpeta llamada services, en esa lo guardamos con el nombre: "holaMundo.php".
Para ver que esta bien todo, entra a:
http://tusitio/flashservices/services/holaMundo.php
Y el navegador debe mostrar una pagina totalmente en blanco.

Paso Cuatro .- Generando el ActionScript.
AS 1.0 Si bajamos los componentes de AS 1.0, solo hay que poner el siguiente codigo:

Código :

#include "NetServices.as"
#include "NetDebug.as"
capturaRespuesta = new Object();
capturaRespuesta.enviar_Result = function( data ){
    trace("Dato recibido del servidor: " + data );
}
capturaRespuesta.onStatus = function ( data ) {
    trace("Ocurrio un error.")
    trace("Detalles del error: " + data.description)
}
NetServices.setDefaultGatewayUrl('http://tusitio/flashservices/gateway.php');
conn = NetServices.createGatewayConnection();
serv = conn.getService("holaMundo", capturaRespuesta);
serv.enviar("Probando");


AS 2.0 Si bajamos los componentes de AS 2.0.
Tenemos que ir a:
Ventana -> Otros Paneles -> Bibliotecas Comunes -> Remoting
Arrastrar los dos componentes(RemotingClasses y RemotingDebugClasses) a nuestra pelicula. y poner el siguiente codigo:

Código :

import mx.remoting.NetServices;
import mx.remoting.Connection;
mx.remoting.debug.NetDebug.initialize();

capturaRespuesta = new Object();
capturaRespuesta.enviar_Result = function( data ){
    trace("Dato recibido del servidor: " + data );
}
capturaRespuesta.onStatus = function ( data ) {
    trace("Ocurrio un error.")
    trace("Detalles del error: " + data.description)
}
NetServices.setDefaultGatewayUrl('http://localhost/flashservices/gateway.php');
conn = NetServices.createGatewayConnection();
serv = conn.getService("holaMundo", capturaRespuesta);
serv.enviar("Probando");



Podras notar en el codigo, que lo importante es definir la ruta del gateway. y el servicio que creamos.
----FIN DEL TUTORIAL--------


Para crear otro servicio, crea un nuevo php, en la carpeta services, ponle de nombre al archivo php, el mismo que a la clase. Basate en el que creamos de holaMundo.php

De verdad hice un gran esfuerzo, por usar terminos comunes y no tecnicos, para una mejor comprensión. Desinstale en dos maquinas todo, y volví a instalar todo, siguiendo el tutorial y me funcionó.

Espero que te haya servido para introducirte en el mundo Flash remoting.

Dudas, comentarios, ponerlas en el Foro. ^^

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

clabbrowser
Citar            
MensajeEscrito el 28 Feb 2005 02:46 pm
Wow! Excelente, a ver si me animo... por otra parte [esto le tokaba a F jajjaa]

Ahora si, un par de dudillas, como por ejemplo que son los "=>" y "->" me suena que eso indicaban las propiedades de un objeto a modo objeto->propiedad pero ni idea... esa es la parte en la que creo que se deberia de hacer mas incapie, asi mismo, en las diferencias "practicas" con el PHP [es decir, que se puede conseguir con amfphp y no con pho normal] en fin... muy bueno saludetes!!

Por _CONEJO

BOFH

7639 de clabLevel

17 tutoriales
21 articulos

 

clabbrowser
Citar            
MensajeEscrito el 28 Feb 2005 04:27 pm
Ahora si, un par de dudillas, como por ejemplo que son los "=>" y "->" me suena que eso indicaban las propiedades de un objeto a modo objeto->propiedad pero ni idea... esa es la parte en la que creo que se deberia de hacer mas incapie, asi mismo, en las diferencias "practicas" con el PHP [es decir, que se puede conseguir con amfphp y no con pho normal] en fin... muy bueno saludetes!!


Bueno el operador "->", no lo toque por que no tiene que ver con AMFPHP, mas bien es de la sintaxis de PHP. Por ejemplo, si tu creas una clase en php asi:

Código :

class miclase(){
function miclase(){
//
}
function getAncho(){
//
}
}


En tu pagina donde la uses, para llamar al evento getAncho, tienes que poner:

Código :

$miinstancia=new miclase();
$miinstancia->getAncho();


Y el de "=>" es usado comunmente para referenciar elementos de una matriz, algo como:

Código :

$mimatriz=["Soyyo" => "si"];
echo $mimatriz["Soyyo"];

Ahora no hay nada que le toque a nadie, aqui todos podemos aportar. Ayer domingo quice darme un par de horas para introducir a al gente a Remoting. Les puse las bases para ponerlo a andar. No me metí mucho en teoría,por que no tengo el tiempo suficiente.
Ahora tu tienes esas dudas de PHP. Igual alguien que hace el tuto de LoadVars tendra dudas de conceptos que nunca antes ha escuchado.

Esto es el comienzo una serie de tutoriales que vienen para clab. Yo por ahora me enfoque a lo practico. Ah que lo hagan el tutorial y trabajen con Remoting. Pero aun faltan muchos conceptos teóricos. Como las diferencias entre AMFPHP y PHP. Que pueden ir en otro tutorial.

Mi unico objetivo es: Que le pierdan el miedo a remoting. ^^

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

clabbrowser
Citar            
MensajeEscrito el 28 Feb 2005 06:15 pm
Tal cual ... es algo asi como un hermoso acuerdo antiLuser entre jd y yo xD

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

clabbofh

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.