CucaDigital.com.br

PHP

Comunicação do Zend com o Twitter

by Claudney on mai.12, 2010, under Dicas, PHP, Programação, Web, Zend Framework

comunicacao-do-zend-com-o-twitter

Uma das boas coisas que sempre gosto de falar é nunca reinvente a roda,  neste caso vamos utilizar o Zend Service Twitter, que possui vários recursos interessantes.

Estou utilizando o Netbeans 6.8 para edição do projeto, caso não tenho o Netbeans pode utilizar qualquer editor de códigos de sua preferência.

Se você tem instalado o Netbeans mas ainda não o utiliza de uma olhada neste post que pode lhe ajudar a criar o projeto no NetBeans Programação Orientada a Objetos com PHP (Parte 2).

Imagem que mostra a estrutura do projeto no NetBeans

Projeto Criado

Com o projeto já criado você deve também adicionar a biblioteca do Zend Framework na sua aplicação, que pode ser baixado no site do Zend Framework, após ter feito do download do fraemwork para o seu PC basta descompactar ele qualquer pasta que você desejar, e copiar a pasta Zend para dentro do seu projeto.

twitter2
Ilustração do Zend Framework descompactado no seu PC, indicando qual pasta deve ser copiada.

Está pasta possui mais de 20mb de arquivos, que você pode limpar e deixar apenas os arquivos necessários para não gastar espaço do seu servidor.

Se tudo correu bem até agora vamos ao que interessa!

Crie um arquivo chamado index.php ou outro nome que desejar, no meu caso como o projeto está vazio vou chamar o arquivo de index.php.

No código onde esta "seu usuario" e "sua senha" não precisa dizer o que você tem que colocar né.

codigo-1

Código inicial do nosso projeto

Com este trecho de código é somente para testarmos a comunicação com o Twitter através do Zend. Deve reproduzir uma saida mais ou menos assim:

codigo-2

Exemplo da saída do código inicial

Agora vamos incrementar nosso projeto, como não sou designer foi o melhor que consegui fazer, mas você pode adaptar e criar um template ou um bom css para formatar a sua saida.

Código Final do projeto

Código Final do projeto

Com este código teremos uma saída com a imagem do usuário que "twitou", a mensagem e um link para o twitter, se não der nenhum erro e a comunicação estiver ocorendo você vera uma tela como esta:

Exemplo de Saida com o código formatado.

Exemplo de Saida com o código formatado.

Mais detalhes sobre o Zend Service Twitter você vai encontrar no manual do Zend Framework, que mostra outros vários recursos interessantes. Segue o link direto para a pagina do manual:  http://zendframework.com/manual/en/zend.service.twitter.html

É isso ai galera e até o próximo post que será a integração do Flash/Flex com Twitter.

1 Comment :, , , , more...

Integrando Flash + PHP via Zend AMF

by Claudney on jun.09, 2009, under AMF, Dicas, Flash, PHP, Programação, Web, Zend Framework

integrando-flash-php-via-zend-amf

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:

amf1

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:

  • Classe.php - que vai representar nosso objeto
  • Funcoes.php - que será a nossa biblioteca de funções
  • 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:

  • 4 - Input Texts
  • 4 - Textos Estaticos
  • 1 - Botao
  • A organize-os para que fique semelhante a imagem abaixo:

    amf2

    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:
    amf3
    Utilizando a chamada por função:
    amf4

    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);
     
    1 Comment :, , , , , , , more...

    Programação Orientada a Objetos com PHP (Parte 2)

    by Claudney on mar.23, 2009, under Dicas, PHP, Programação, Web

    programacao-orientada-a-objetos-com-php-parte-2

    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:

    Xampp

    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.

    NetBeans PHP

    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:

    netbeans2

    Pronto agora já estaremos pronto para codificar nosso primeiro projeto utilizando OO.

    2 Comments :, , , more...

    Programação Orientada a Objetos com PHP (Parte 1)

    by Claudney on mar.10, 2009, under Dicas, PHP, Programação, Tecnologia, Web

    programacao-orientada-a-objetos-com-php-parte-1

    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.

    Leave a Comment :, , , , more...

    HTTP Autentication via PHP

    by Claudney on fev.16, 2009, under Dicas, PHP, Programação

    http-autentication-via-php

    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.

    Leave a Comment :, , , , , , more...

    URL Amigável no Apache + PHP

    by Claudney on jan.21, 2009, under Dicas, PHP

    url-amigavel-no-apache-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...)

    2 Comments :, , more...

    10 frameworks mais utilizados em PHP

    by Claudney on dez.02, 2008, under Dicas, PHP

    10-frameworks-mais-utilizados-em-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...)

    1 Comment :, , , more...

    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.

    Leave a Comment :, , , more...

    

    Esta procurando algo?

    Use o formulário abaixo para realizar a sua pesquisa:

    Assine nosso feed, e recebe tudas as novidades do nosso site diretamente no seu e-mail.

    Comentários