PHP
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.
URL Amigável no Apache + PHP
by Claudney on jan.21, 2009, under Dicas, PHP
URL amigável como o próprio nome diz, e uma forma de mostrar ao usuário uma forma mais intendível de quardar um link ou até mesmo memorizar alguma página.
(continue reading...)
10 frameworks mais utilizados em PHP
by Claudney on dez.02, 2008, under Dicas, PHP
Quando falamos de frameworks vem a pergunta "Qual utilizar?", e ainda se for realizar uma pesquisa no google sobre php e frameworks você vai ficar mais perdido que pode até desistir ou fazer a escolha errada, podendo ter que refazer projetos ou abandonar eles no meio do caminho.
(continue reading...)
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.




