Programação
Integrando Flash + PHP via Zend AMF
by Claudney on jun.09, 2009, under AMF, Dicas, Flash, PHP, Programação, Web, Zend Framework
Em primeiro lugar devemos baixar a versão mais estável do Zend Framework (ZF).
Pode ser baixada através deste link: http://www.zendframework.com/download/latest, neste exemplo que vamos demostrar foi utilizado a versão: ZendFramework-1.8.2-minimal.
Esse tutorial visa somente iniciar como fazer integração via AS3 e o PHP através do Zend AMF, com isso não iremos detalhar o funcionamento do Framework, mas e ai como vou criar minha aplicação, tenho que configurar o ZF certo?
Correto iremos utilizar a ferramenta que gera um esqueleto da aplicação do ZF sem a necessidade de configurarmos manualmente, mas vale a pena dar uma lida na documentação do framework que possui uma infinidade de recursos disponíveis pode conferir em: http://www.zendframework.com/docs/quickstart.
Concluído o download descompacte o arquivo em uma pasta de sua preferência e através do prompt de comando acesse a pasta bin e execute o seguinte comando:
# linux: zf.sh create project amf # Windows: zf.bat create project amf
Após a execução do comando acima ele vai gerar a seguinte estrutura de diretórios, que é a estrutura padrão para as aplicações do ZF.
amf
|-- application
| |-- Bootstrap.php
| |-- configs
| | `-- application.ini
| |-- controllers
| | |-- ErrorController.php
| | `-- IndexController.php
| |-- models
| `-- views
| |-- helpers
| `-- scripts
| |-- error
| | `-- error.phtml
| `-- index
| `-- index.phtml
|-- library
|-- public
| `-- index.php
`-- tests
|-- application
| `-- bootstrap.php
|-- library
| `-- bootstrap.php
`-- phpunit.xml
Após a criação desta estrutura copie a pasta Zend que se encontra dentro da pasta libray de onde você descompactou o arquivo do ZF, para a pasta library da sua aplicação, e em seguida mova a estrutura para a sua pasta htdocs do seu servidor web.
Após seguir os passos acima acesse o endereço: Exemplo: http://localhost/amf/public, deverá gera uma janela exemplo a mostrada abaixo:
Agora já podemos criar nosso servidor AMF para a integração com o Flash.
Agora temos 2 opções podemos criar um arquivo contendo um Objeto que vai conter todos os métodos que queremos que o Flash acesse, ou criar nossa biblioteca de funções. Eu prefiro a primeira opção mas vou dar exemplo das duas.
Vamos criar dentro da pasta library da nossa aplicação dois arquivos:
Com os seguintes conteúdos:
<?php #ARQUIVO Funcoes.php /* * BIBLIOTECA DE FUNÇÕES PARA INTEGRAÇÃO COM AMF * @author claudney */ /** * REALIZA SOMA * @param integer $x * @param integer $y * @return integer total */ function soma($x,$y){ return (int) $x+$y; } /** * retorna quadrado de um numero qualquer * @param integer $num * @return integer total */ function quadrado($num){ return (int) $num*$num; } ?> --------------------------------------------- <?php #Arquivo Classe.php /* * OBJETO PARA INTEGRAÇÃO COM AMF VIA ZEND * @author claudney */ class Classe { /** * REALIZA SOMA * @param integer $x * @param integer $y * @return integer total */ public function soma($x,$y){ return (int) $x+$y; } /** * retorna quadrado de um numero qualquer * @param integer $num * @return integer total */ public function quadrado($num){ return (int) $num*$num; } } ?>
Em seguida abra o arquivo index controller e altere o método indexAction adicionando as seguintes linhas, para que fique como mostrado abaixo:
public function indexAction() { require "Funcoes.php"; require "Classe.php"; $server = new Zend_Amf_Server(); $server->setClass('Classe') //aqui adicionamos o nosso objeto no servidor ->addFunction('soma') //aqui adicionamos a funcao soma ->addFunction('quadrado'); //e por ultima a funcao quadrado $response = $server->handle(); echo $response; exit; }
Se executar o endereço: novamente sera solicitado para fazer donwload de um arquivo cuja o conteúdo será "Zend AMF endpoint", ou seja somente o Flash ou Flex poderá acessar seu conteúdo.
Agora só nos resta o Flash, crie um filme com os seguintes elementos:
A organize-os para que fique semelhante a imagem abaixo:
Nome os inputs como: funcao, param1, param2, retorno e botao, que utilizaremos em nosso Action Script.
Apos criar todos os elementos vamos criar nosso Action Script 3:
//Imports de bibliotecas import flash.display.MovieClip; import flash.events.*; import flash.net.NetConnection; import flash.net.Responder; botao.addEventListener(MouseEvent.CLICK, minhaFuncao); function minhaFuncao(e:MouseEvent):void{ var gateway:String = "http://127.0.0.1/amf/public/"; //ENDERECO DO SERVIDOR AMF var connection:NetConnection; var responder:Responder; responder = new Responder(onResult, onFault); //RESPONDER COM FUNCOES DE CALLBACK connection = new NetConnection; //CRIAMOS UMA NOVA CONEXAO connection.connect(gateway); //APONTAMOS PARA O ENDERECO QUE FOI INFORMADO //CRIAMOS A CHAMADA DINAMICA PARA OS METODOS DO PHP connection.call(funcao.text, responder,param1.text,param2.text); } //ABAIXOA FUNCAO DE CALLBACK QUE É EXECUTADO NO //QUANDO O METODO RETORNA SUCESSO function onResult(result:Object):void { retorno.text = String(result); } //FUNÇÃO QUE RETORNA ERRO CASO OCORRA function onFault(fault:Object):void { retorno.text =(String(fault.description)); }
Agora podemos executar o nosso arquivo e chamar as funções e ver o resultado diretamento no flash, sem ter que gerar XML´s ou arquivos TXT´s para essa integração.
Utilizando a chamada do metodo do Objeto:

Utilizando a chamada por função:

Se quiser chamar diretamente dentro do Flash basta utilizar o comando:
connection.call('Objeto.metodo', responder,param1....paramN); //ou connection.call('funcao', responder,param1....paramN);
Programação Orientada a Objetos com PHP (Parte 2)
by Claudney on mar.23, 2009, under Dicas, PHP, Programação, Web
Preparando o Ambiente
A instalação do servidor segue o famoso padrão NNF (Next,Next, Finish), para quem for utilizar o NetBeans é necessario ter o Java JDK instalado no computador.
Logo após a instalação sera criado no seu menu iniciar (se estiver utilizando windows) os atalhos para o Xampp e para o NetBeans, primeiro vamos abrir o Xampp Control que exibira uma imagem semelhante o exemplo abaixo:

Para iniciar o servidor Apache basta clicar no primeiro botão "start" e pronto já podemos iniciar a criação do nosso projeto.
Com o NetBeans aberto clique em Arquivo -> Novo Projeto ou tecle Ctrl+Shift+N.
Na janela que aparece selecione Aplicativo PHP e clique em próximo sera exibido uma janela como mostrado abaixo.
Em nome do projeto digite "Projeto_OO"
Na pasta de códigos-fonte selecione o diretorio "htdocs" que foi criado dentro da pasta de instalação do Xampp e clique em finalizar, sera mostrado uma tela como a abaixo:
Pronto agora já estaremos pronto para codificar nosso primeiro projeto utilizando OO.
Programação Orientada a Objetos com PHP (Parte 1)
by Claudney on mar.10, 2009, under Dicas, PHP, Programação, Tecnologia, Web
Existe vários conceitos sobre POO (Programação Orientada a Objetos), tem como principais objetivos reduzir a complexidade no desenvolvimento de software e aumentar sua produtividade.
Atualmente a maioria das linguagues de programação utilizam este recurso a fim de melhor a organização e entendimento dos fontes e funcionamento do programa.
Alguns exemplos:
- C++
- Java
- PHP
- VB.NET C#
- Ruby
A orientação a objetos, também conhecida como Programação Orientada a Objetos (POO) ou ainda em inglês Object-Oriented Programming (OOP) é um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos.
Principais conceitos:
- Classe - Representa um ou mais objetos.
- Objeto - Representa uma instancia de uma classe resumindo "a classe em ação/uso".
- Atributos - Conjunto de carateristicas de um objeto.
- Métodos - Controla todos os estados e atributos do objeto.
Os termos citados acima são somente para um entendimento básico, veremos eles mais a frente em exemplos práticos e funcionais.
Então vamos ao que interessa: Para executar scripts PHP em sua máquina vamos precisar de um IDE php qualquer e um servidor Web.
Para servidor web nos exemplos mostrados foi utilizado o Xampp e Como Editor o NetBeans 6.5.
Podendo baixar eles atraves destes links:
Se não quiser utilizar o NetBeans pode utilizar qualquer outra IDE.
Na segunda parte vamos instalar configurar nosso servidor web e criar nosso primeiro projeto utilizando orientação a objetos.
HTTP Autentication via PHP
by Claudney on fev.16, 2009, under Dicas, PHP, Programação
Autenticação via HTTP no PHP só é disponível quando o ele é for executado como módulo do Apache, enviando um header de "Authentication Required" que solicita uma janela pedindo usuário e senha no navegador.Para utilização deste método de autenticação é necessario que o PHP esteja sendo executado como módulo no Apache.
Aqui vou demostrar um breve tutorial para utilizar este recurso em suas aplicações web.
Enviar o header solicitando a autenticação no nagedador.
<?php if (!isset($_SERVER['PHP_AUTH_USER'])) { header('WWW-Authenticate: '. ' Basic realm="Informe seu usuário e senha de acesso"'); header('HTTP/1.0 401 Unauthorized'); echo 'Mensagem caso o usuário clique no botão cancelar'; exit; } else { echo "Olá, {$_SERVER['PHP_AUTH_USER']}."; echo "Você digitou {$_SERVER['PHP_AUTH_PW']} como sua senha."; } ?>
Quando executado ele guarda o usuario senha nas variaveis: PHP_AUTH_USER, PHP_AUTH_PW, e AUTH_TYPE que ficam armezanadas em $_SERVER,
para não solicitar o usuário e senha todas em todas as páginas solicitadas após a primeira autenticação.
Diga adeus as janelinas de login em HTML
Abaixo uma notinha do bem básica direto do php.net:
Cuidado com browsers Internet Explorer bugados por aí. Eles parecem muito minuciosos sobre a ordem dos cabeçalhos. Enviar o cabeçalho WWW-Authenticate antes do cabeçalho HTTP/1.0 401 resolve isso por enquanto.
Gerando gráficos com o Google Chart API
by Claudney on jan.19, 2009, under Dicas, Programação, Tecnologia, Web
A API do Google Chart permite você gerar gráficos dinamicamente sem ter que instalar nenhum pacote adicional em seu aplicativo ou servidor.
E tem grandes facilidados como: Não precisa gerar XML ou alimentar Javascripts para gerar os gráficos.
É necessario somente uma imagem, uma imagem???
Olá, mundo!
by Claudney on out.31, 2008, under Dicas, Java, Linux, Mac, Mobile, PHP, Programação, Tecnologia, Web
Bem-vindo ao CucaDigital.com.br. Esse é o seu primeiro post que marca o inicio de minhas publicações vamos ver como eu vou me sair nessa nova empreitada.




