<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CucaDigital.com.br &#187; Flash</title>
	<atom:link href="http://www.cucadigital.com.br/category/flash/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cucadigital.com.br</link>
	<description>Tecnologia e conhecimento</description>
	<lastBuildDate>Thu, 13 May 2010 17:07:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Serial do Adobe Flash Builder</title>
		<link>http://www.cucadigital.com.br/2010/05/13/serial-do-adobe-flash-builder/</link>
		<comments>http://www.cucadigital.com.br/2010/05/13/serial-do-adobe-flash-builder/#comments</comments>
		<pubDate>Thu, 13 May 2010 17:05:55 +0000</pubDate>
		<dc:creator>Claudney</dc:creator>
				<category><![CDATA[AMF]]></category>
		<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Tecnologia]]></category>

		<guid isPermaLink="false">http://www.cucadigital.com.br/?p=241</guid>
		<description><![CDATA[Como obter o serial do Adobe Flash Builder original, de graça.]]></description>
			<content:encoded><![CDATA[<div class="postavatar"><img src="http://www.cucadigital.com.br/wp-content/uploads/icons/icon_b.png"  alt="serial-do-adobe-flash-builder" /></div>
<p>Para a galera que tá sempre correndo atrás do <strong>serial </strong>do <strong>Flash Builde</strong>r a adobe resolver fazer uma graça para comunidade, esta disponibiliziando seriais gratuitos para desenvolvedores, estudantes e "desempregados".</p>
<p>Basta se cadastrar no link e aguardar que eles aprovem sua solicitação: <a href=" http://freeriatools.adobe.com ">http://freeriatools.adobe.com.</a></p>
<p>Não acredita?</p>
<p>Olha o que eles me mandaram, demorou 2 dias.</p>
<div id="attachment_242" class="wp-caption aligncenter" style="width: 494px"><a href="http://www.cucadigital.com.br/mnt/localwp-content/uploads/2010/05/adobe.jpg"><img class="size-full wp-image-242 " title="Imagem da Email da Adobe" src="http://www.cucadigital.com.br/mnt/localwp-content/uploads/2010/05/adobe.jpg" alt="adobe" width="484" height="602" /></a><p class="wp-caption-text">Email com o serial do Flash Builder</p></div>
<p style="text-align: center;">
]]></content:encoded>
			<wfw:commentRss>http://www.cucadigital.com.br/2010/05/13/serial-do-adobe-flash-builder/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Integrando Flash + PHP via Zend AMF</title>
		<link>http://www.cucadigital.com.br/2009/06/09/integrando-flash-php-via-zend-amf/</link>
		<comments>http://www.cucadigital.com.br/2009/06/09/integrando-flash-php-via-zend-amf/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 03:48:40 +0000</pubDate>
		<dc:creator>Claudney</dc:creator>
				<category><![CDATA[AMF]]></category>
		<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[Action Script]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex Builder]]></category>
		<category><![CDATA[Zend AMF]]></category>

		<guid isPermaLink="false">http://www.cucadigital.com.br/?p=194</guid>
		<description><![CDATA[Esse tutorial visa somente explicar como fazer essa integração via AS3 e o PHP através do Zend AMF.]]></description>
			<content:encoded><![CDATA[<div class="postavatar"><img src="http://www.cucadigital.com.br/wp-content/uploads/icons/icon_a.png"  alt="integrando-flash-php-via-zend-amf" /></div>
<p>Em primeiro lugar devemos baixar a versão mais estável do Zend Framework (ZF).<br />
Pode ser baixada através deste link: <a href="http://www.zendframework.com/download/latest">http://www.zendframework.com/download/latest</a>, neste exemplo que vamos demostrar foi utilizado a versão: ZendFramework-1.8.2-minimal.</p>
<p>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? </p>
<p>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: <a href="http://www.zendframework.com/docs/quickstart">http://www.zendframework.com/docs/quickstart</a>.</p>
<p>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:</p>
<pre class="php">&nbsp;
<span style="color: #808080; font-style: italic;"># linux:</span>
zf.sh create project amf
&nbsp;
<span style="color: #808080; font-style: italic;"># Windows:</span>
 zf.bat create project amf
&nbsp;</pre>
<p>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.<br />
<code><br />
amf<br />
|-- application<br />
|   |-- Bootstrap.php<br />
|   |-- configs<br />
|   |   `-- application.ini<br />
|   |-- controllers<br />
|   |   |-- ErrorController.php<br />
|   |   `-- IndexController.php<br />
|   |-- models<br />
|   `-- views<br />
|       |-- helpers<br />
|       `-- scripts<br />
|           |-- error<br />
|           |   `-- error.phtml<br />
|           `-- index<br />
|               `-- index.phtml<br />
|-- library<br />
|-- public<br />
|   `-- index.php<br />
`-- tests<br />
    |-- application<br />
    |   `-- bootstrap.php<br />
    |-- library<br />
    |   `-- bootstrap.php<br />
    `-- phpunit.xml<br />
</code></p>
<p>Após a criação desta estrutura copie a pasta <em>Zend </em>que se encontra dentro da pasta <strong>libray </strong>de onde você descompactou o arquivo do ZF, para a pasta <strong>library </strong>da sua aplicação, e em seguida mova a estrutura para a sua pasta <strong>htdocs </strong>do seu servidor web.</p>
<p>Após seguir os passos acima acesse o endereço: <a href="http://http://localhost/amf/public">Exemplo: http://localhost/amf/public</a>, deverá gera uma janela exemplo a mostrada abaixo:</p>
<p><a href="http://www.cucadigital.com.br/wp-content/uploads/2009/06/amf1.jpg"><img src="http://www.cucadigital.com.br/wp-content/uploads/2009/06/amf1-300x240.jpg" alt="amf1" title="amf1" width="300" height="240" class="aligncenter size-medium wp-image-209" /></a></p>
<p>Agora já podemos criar nosso servidor AMF para a integração com o Flash.</p>
<p>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.</p>
<p>Vamos criar dentro da pasta library da nossa aplicação dois arquivos:</p>
<li>Classe.php - que vai representar nosso objeto</li>
<li>Funcoes.php - que será a nossa biblioteca de funções</li>
<p>Com os seguintes conteúdos:</p>
<pre class="php">&nbsp;
<span style="color: #39a1f9; font-weight: bold;">&lt;?php</span>
<span style="color: #808080; font-style: italic;">#ARQUIVO Funcoes.php</span>
<span style="color: #808080; font-style: italic;">/*
 * BIBLIOTECA DE FUNÇÕES PARA INTEGRAÇÃO COM AMF
 * @author claudney
 */</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/**
 * REALIZA SOMA
 * @param integer $x
 * @param integer $y
 * @return integer total
 */</span>
<span style="color: #39a1f9; font-weight: bold;">function</span> soma<span style="color: #00ff00;">&#40;</span><span style="color: #5fc8ff;">$x</span>,<span style="color: #5fc8ff;">$y</span><span style="color: #00ff00;">&#41;</span><span style="color: #00ff00;">&#123;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #00ff00;">&#40;</span>int<span style="color: #00ff00;">&#41;</span> <span style="color: #5fc8ff;">$x</span>+<span style="color: #5fc8ff;">$y</span>;
<span style="color: #00ff00;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/**
 * retorna quadrado de um numero qualquer
 * @param integer $num
 * @return integer total
 */</span>
<span style="color: #39a1f9; font-weight: bold;">function</span> quadrado<span style="color: #00ff00;">&#40;</span><span style="color: #5fc8ff;">$num</span><span style="color: #00ff00;">&#41;</span><span style="color: #00ff00;">&#123;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #00ff00;">&#40;</span>int<span style="color: #00ff00;">&#41;</span> <span style="color: #5fc8ff;">$num</span>*<span style="color: #5fc8ff;">$num</span>;
<span style="color: #00ff00;">&#125;</span>
<span style="color: #39a1f9; font-weight: bold;">?&gt;</span>
---------------------------------------------
<span style="color: #39a1f9; font-weight: bold;">&lt;?php</span>
<span style="color: #808080; font-style: italic;">#Arquivo Classe.php</span>
<span style="color: #808080; font-style: italic;">/*
 * OBJETO PARA INTEGRAÇÃO COM AMF VIA ZEND
 * @author claudney
 */</span>
<span style="color: #39a1f9; font-weight: bold;">class</span> Classe <span style="color: #00ff00;">&#123;</span>
&nbsp;
    <span style="color: #808080; font-style: italic;">/**
     * REALIZA SOMA
     * @param integer $x
     * @param integer $y
     * @return integer total
     */</span>
    <span style="color: #39a1f9; font-weight: bold;">public</span> <span style="color: #39a1f9; font-weight: bold;">function</span> soma<span style="color: #00ff00;">&#40;</span><span style="color: #5fc8ff;">$x</span>,<span style="color: #5fc8ff;">$y</span><span style="color: #00ff00;">&#41;</span><span style="color: #00ff00;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #00ff00;">&#40;</span>int<span style="color: #00ff00;">&#41;</span> <span style="color: #5fc8ff;">$x</span>+<span style="color: #5fc8ff;">$y</span>;
    <span style="color: #00ff00;">&#125;</span>
&nbsp;
    <span style="color: #808080; font-style: italic;">/**
     * retorna quadrado de um numero qualquer
     * @param integer $num
     * @return integer total
     */</span>
    <span style="color: #39a1f9; font-weight: bold;">public</span> <span style="color: #39a1f9; font-weight: bold;">function</span> quadrado<span style="color: #00ff00;">&#40;</span><span style="color: #5fc8ff;">$num</span><span style="color: #00ff00;">&#41;</span><span style="color: #00ff00;">&#123;</span>
        <span style="color: #b1b100;">return</span> <span style="color: #00ff00;">&#40;</span>int<span style="color: #00ff00;">&#41;</span> <span style="color: #5fc8ff;">$num</span>*<span style="color: #5fc8ff;">$num</span>;
    <span style="color: #00ff00;">&#125;</span>
&nbsp;
<span style="color: #00ff00;">&#125;</span>
<span style="color: #39a1f9; font-weight: bold;">?&gt;</span>
&nbsp;</pre>
<p>Em seguida abra o arquivo index controller e altere o método indexAction adicionando as seguintes linhas, para que fique como mostrado abaixo:</p>
<pre class="php">&nbsp;
 <span style="color: #39a1f9; font-weight: bold;">public</span> <span style="color: #39a1f9; font-weight: bold;">function</span> indexAction<span style="color: #00ff00;">&#40;</span><span style="color: #00ff00;">&#41;</span>
<span style="color: #00ff00;">&#123;</span>
    <span style="color: #b1b100;">require</span> <span style="color: #ff5346;">&quot;Funcoes.php&quot;</span>;
    <span style="color: #b1b100;">require</span> <span style="color: #ff5346;">&quot;Classe.php&quot;</span>;
    <span style="color: #5fc8ff;">$server</span> = <span style="color: #39a1f9; font-weight: bold;">new</span> Zend_Amf_Server<span style="color: #00ff00;">&#40;</span><span style="color: #00ff00;">&#41;</span>;
    <span style="color: #5fc8ff;">$server</span>-&gt;<span style="color: #006600;">setClass</span><span style="color: #00ff00;">&#40;</span><span style="color: #ff5346;">'Classe'</span><span style="color: #00ff00;">&#41;</span> <span style="color: #808080; font-style: italic;">//aqui adicionamos o nosso objeto no servidor</span>
            -&gt;<span style="color: #006600;">addFunction</span><span style="color: #00ff00;">&#40;</span><span style="color: #ff5346;">'soma'</span><span style="color: #00ff00;">&#41;</span> <span style="color: #808080; font-style: italic;">//aqui adicionamos a funcao soma</span>
            -&gt;<span style="color: #006600;">addFunction</span><span style="color: #00ff00;">&#40;</span><span style="color: #ff5346;">'quadrado'</span><span style="color: #00ff00;">&#41;</span>; <span style="color: #808080; font-style: italic;">//e por ultima a funcao quadrado</span>
    <span style="color: #5fc8ff;">$response</span> = <span style="color: #5fc8ff;">$server</span>-&gt;<span style="color: #006600;">handle</span><span style="color: #00ff00;">&#40;</span><span style="color: #00ff00;">&#41;</span>;
    <a href="http://www.php.net/echo"><span style="color: #42f939;">echo</span></a> <span style="color: #5fc8ff;">$response</span>;
    <a href="http://www.php.net/exit"><span style="color: #42f939;">exit</span></a>;
<span style="color: #00ff00;">&#125;</span>
&nbsp;</pre>
<p>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.</p>
<p>Agora só nos resta o Flash, crie um filme com os seguintes elementos:</p>
<li>4 - Input Texts </li>
<li>4 - Textos Estaticos </li>
<li>1 - Botao</li>
<p>A organize-os para que fique semelhante a imagem abaixo:</p>
<p><a href="http://www.cucadigital.com.br/wp-content/uploads/2009/06/amf2.jpg"><img src="http://www.cucadigital.com.br/wp-content/uploads/2009/06/amf2-300x181.jpg" alt="amf2" title="amf2" width="300" height="181" class="aligncenter size-medium wp-image-215" /></a></p>
<p>Nome os inputs como: <strong>funcao, param1, param2, retorno e botao</strong>, que utilizaremos em nosso Action Script.</p>
<p>Apos criar todos os elementos vamos criar nosso Action Script 3:</p>
<pre class="actionscript">&nbsp;
&nbsp;
<span style="color: #808080; font-style: italic;">//Imports de bibliotecas</span>
<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #0066CC;">MovieClip</span>;
<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">*</span>;
<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">net</span>.<span style="color: #0066CC;">NetConnection</span>;
<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">net</span>.<span style="color: #006600;">Responder</span>;
&nbsp;
botao.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>MouseEvent.<span style="color: #006600;">CLICK</span>, minhaFuncao<span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> minhaFuncao<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
 	<span style="color: #000000; font-weight: bold;">var</span> gateway:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;http://127.0.0.1/amf/public/&quot;</span>; <span style="color: #808080; font-style: italic;">//ENDERECO DO SERVIDOR AMF</span>
	<span style="color: #000000; font-weight: bold;">var</span> connection:<span style="color: #0066CC;">NetConnection</span>;
	<span style="color: #000000; font-weight: bold;">var</span> responder:Responder;
&nbsp;
	responder = <span style="color: #000000; font-weight: bold;">new</span> Responder<span style="color: #66cc66;">&#40;</span>onResult, onFault<span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//RESPONDER COM FUNCOES DE CALLBACK</span>
	connection = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">NetConnection</span>; <span style="color: #808080; font-style: italic;">//CRIAMOS UMA NOVA CONEXAO</span>
	connection.<span style="color: #0066CC;">connect</span><span style="color: #66cc66;">&#40;</span>gateway<span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//APONTAMOS PARA O ENDERECO QUE FOI INFORMADO</span>
&nbsp;
	<span style="color: #808080; font-style: italic;">//CRIAMOS A CHAMADA DINAMICA PARA OS METODOS DO PHP</span>
	connection.<span style="color: #0066CC;">call</span><span style="color: #66cc66;">&#40;</span>funcao.<span style="color: #0066CC;">text</span>, responder,param1.<span style="color: #0066CC;">text</span>,param2.<span style="color: #0066CC;">text</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">//ABAIXOA FUNCAO DE CALLBACK QUE É EXECUTADO NO</span>
<span style="color: #808080; font-style: italic;">//QUANDO O METODO RETORNA SUCESSO</span>
<span style="color: #000000; font-weight: bold;">function</span> onResult<span style="color: #66cc66;">&#40;</span>result:<span style="color: #0066CC;">Object</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
      retorno.<span style="color: #0066CC;">text</span> = <span style="color: #0066CC;">String</span><span style="color: #66cc66;">&#40;</span>result<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">//FUNÇÃO QUE RETORNA ERRO CASO OCORRA</span>
<span style="color: #000000; font-weight: bold;">function</span> onFault<span style="color: #66cc66;">&#40;</span>fault:<span style="color: #0066CC;">Object</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span>
    retorno.<span style="color: #0066CC;">text</span> =<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">String</span><span style="color: #66cc66;">&#40;</span>fault.<span style="color: #006600;">description</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;</pre>
<p>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.</p>
<p>Utilizando a chamada do metodo do Objeto:<br />
<a href="http://www.cucadigital.com.br/wp-content/uploads/2009/06/amf3.jpg"><img src="http://www.cucadigital.com.br/wp-content/uploads/2009/06/amf3-300x185.jpg" alt="amf3" title="amf3" width="300" height="185" class="aligncenter size-medium wp-image-218" /></a><br />
Utilizando a chamada por função:<br />
<a href="http://www.cucadigital.com.br/wp-content/uploads/2009/06/amf4.jpg"><img src="http://www.cucadigital.com.br/wp-content/uploads/2009/06/amf4-300x179.jpg" alt="amf4" title="amf4" width="300" height="179" class="aligncenter size-medium wp-image-219" /></a></p>
<p>Se quiser chamar diretamente dentro do Flash basta utilizar o comando:</p>
<pre class="actionscript">&nbsp;
connection.<span style="color: #0066CC;">call</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'Objeto.metodo'</span>, responder,param1....<span style="color: #006600;">paramN</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">//ou</span>
connection.<span style="color: #0066CC;">call</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'funcao'</span>, responder,param1....<span style="color: #006600;">paramN</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.cucadigital.com.br/2009/06/09/integrando-flash-php-via-zend-amf/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
