<?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>Diário de Códigos &#187; PHP</title>
	<atom:link href="http://diariodecodigos.info/category/desenvolvimento-web/php-desenvolvimento-web/feed/" rel="self" type="application/rss+xml" />
	<link>http://diariodecodigos.info</link>
	<description>Codigos Fonte, Artigos e Dicas</description>
	<lastBuildDate>Tue, 03 May 2011 17:42:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Pesquisa por data no Drupal</title>
		<link>http://diariodecodigos.info/2010/06/pesquisa-por-data-no-drupal/</link>
		<comments>http://diariodecodigos.info/2010/06/pesquisa-por-data-no-drupal/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 21:04:25 +0000</pubDate>
		<dc:creator>Alexandre Santos</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[MySql]]></category>

		<guid isPermaLink="false">http://diariodecodigos.info/?p=1000</guid>
		<description><![CDATA[há algum tempo eu precisei colocar em um projeto uma pesquisa por data, surpreendentemente não encontrei  nenhum módulo para o mesmo. Bem.. decidi criar um&#8230; Características Pesquisa por conteúdo em determinada data Pesquisa por conteúdo a partir de uma data Pesquisa por conteúdo até uma determinada data Pesquisa por conteúdo em um range de data]]></description>
			<content:encoded><![CDATA[<p>há algum tempo eu precisei colocar em um projeto uma pesquisa por data, surpreendentemente não encontrei  nenhum módulo para o mesmo.</p>
<p>Bem.. decidi criar um&#8230;</p>
<h2><span style="color: #333399;">Características</span></h2>
<ul>
<li>Pesquisa por conteúdo em determinada data</li>
<li>Pesquisa por conteúdo a partir de uma data</li>
<li>Pesquisa por conteúdo até uma determinada data</li>
<li>Pesquisa por conteúdo em um range de data</li>
<li>Configurações dos <em>Content Type</em> pesquisáveis</li>
<li>Configuração da quantidade de itens por página no resultado</li>
</ul>
<p><span id="more-1000"></span></p>
<h2><span style="color: #333399;">Todo List</span></h2>
<ul>
<li>Este módulo só pode ser utilizado no MySQL, porque utilizei funções específicas de tal banco de dados.</li>
<li>Fazer o módulo trabalhar com timestamp, para torná-lo independente de banco de dados.</li>
<li>Adicionar suporte para o usuário escolher o tipo de data, americano ou brasileiro.</li>
<li>Adicionar máscara aos campos de data.</li>
<li>Adicionar configuração dos vocabulários pesquisáveis na interface de configuração</li>
</ul>
<h2><span style="color: #333399;">Download</span></h2>
<p><a href="http://diariodecodigos.info/alexandre/searchbydate/searchbydate-6.x-1.0.tar.gz" target="_blank">searchbydate-6.x-1.0.tar.gz</a></p>
<h2><span style="color: #333399;">ScreenShots</span></h2>
<p><span style="color: #333399;"><a href="http://diariodecodigos.info/wp-content/uploads/2010/06/search.png"><img class="aligncenter size-medium wp-image-1005" title="search" src="http://diariodecodigos.info/wp-content/uploads/2010/06/search-300x197.png" alt="" width="300" height="197" /></a></span></p>
<p><span style="color: #333399;"><a href="http://diariodecodigos.info/wp-content/uploads/2010/06/settings.png"><img class="aligncenter size-medium wp-image-1008" title="settings" src="http://diariodecodigos.info/wp-content/uploads/2010/06/settings-300x165.png" alt="" width="300" height="165" /></a><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://diariodecodigos.info/2010/06/pesquisa-por-data-no-drupal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Servidor PHP no Windows com SMTP</title>
		<link>http://diariodecodigos.info/2010/02/servidor-php-no-windows-com-smtp/</link>
		<comments>http://diariodecodigos.info/2010/02/servidor-php-no-windows-com-smtp/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 14:38:27 +0000</pubDate>
		<dc:creator>Alexandre Santos</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[sendmail]]></category>
		<category><![CDATA[smtp]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://diariodecodigos.info/?p=842</guid>
		<description><![CDATA[Como todo bom desenvolvedor, temos que ter um ambiente de trabalho em nosso computador que chegue o mais próximo possível do que teremos no ambiente de produção final.

No meu caso eu andei precisando estudar sobre PostgreSQL (por sinal um excelente banco de dados) com PHP. Isso foi o mais fácil, agora tenho que estudar o famoso CMS/CMF Drupal, excelente por sinal.

O que isso tem a ver com esse post? Com um ambiente rodando PostgreSQL + PHP + Drupal só faltava uma coisa... o servidor SMTP! É isso mesmo, exemplo: após um usuário ser cadastrado no Drupal é enviado um e-mail de confirmação para ele, mas como isso seria enviado se meu ambiente de teste no windows não tem um servidor MTA sendmail disponível (Linux faz muita falta).]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-843" href="http://diariodecodigos.info/2010/02/servidor-php-no-windows-com-smtp/attachment/02/"><img class="alignleft size-full wp-image-843" style="border: 2px solid black; margin: 2px 5px;" title="PHP no Windows" src="http://diariodecodigos.info/wp-content/uploads/2010/02/02.gif" alt="" width="183" height="122" /></a>Como todo bom desenvolvedor, temos que ter um ambiente de trabalho em nosso computador que chegue o mais próximo possível do que teremos no ambiente de produção final.</p>
<p>No meu caso eu andei precisando estudar sobre PostgreSQL (por sinal um excelente banco de dados) com PHP. Isso foi o mais fácil, agora tenho que estudar o famoso CMS/CMF Drupal, excelente por sinal.</p>
<p>O que isso tem a ver com esse post? Com um ambiente rodando <strong>PostgreSQL + PHP + Drupal</strong> só faltava uma coisa&#8230; o servidor <strong>SMTP</strong>! É isso mesmo, exemplo: após um usuário ser cadastrado no Drupal é enviado um e-mail de confirmação para ele, mas como isso seria enviado se meu ambiente de teste no <strong><em>windows</em></strong> não tem um servidor MTA <em>sendmail</em> disponível (Linux faz muita falta).<span id="more-842"></span></p>
<p>Com algumas pesquisas na internet encontrei a solução ideal! existe um tal de de <strong>sendmail</strong> criado por <strong>Byron Jones</strong> (<a title="Sendmail for Windows" href="http://glob.com.au/sendmail/" target="_blank">http://www.glob.com.au</a>) que na verdade envia e-mail autenticando em um servidor externo.. simples assim, sem precisar criar um <strong>servidor SMTP local</strong> (porque eu já havia tentado criar no IIS com windows 7 mas o IIS desse windows não tem MTA)!</p>
<p>A configuração é simples e a instalação é rápida:</p>
<ol>
<li>Faça o download aqui do <a href="http://diariodecodigos.info/alexandre/sendmail.zip" target="_blank">sendmail.zip</a></li>
<li>Coloque ele em algum lugar, exemplo &#8220;C:\sendmail\&#8221;</li>
<li>Abra o arquivo <strong>sendmail.ini</strong> e edite-o conforme suas necessidades, nesse exemplo eu configurei para utilizar o smtp do Gmail:
<pre class="brush: php;">
; configuration for fake sendmail

; if this file doesn't exist, sendmail.exe will look for the settings in
; the registry, under HKLM\Software\Sendmail

[sendmail]

; you must change mail.mydomain.com to your smtp server,
; or to IIS's &quot;pickup&quot; directory.  (generally C:\Inetpub\mailroot\Pickup)
; emails delivered via IIS's pickup directory cause sendmail to
; run quicker, but you won't get error messages back to the calling
; application.

smtp_server=smtp.gmail.com

; smtp port (normally 25)

smtp_port=587

; the default domain for this server will be read from the registry
; this will be appended to email addresses when one isn't provided
; if you want to override the value in the registry, uncomment and modify

default_domain=domain.com

; log smtp errors to error.log (defaults to same directory as sendmail.exe)
; uncomment to enable logging

error_logfile=error.log

; create debug log as debug.log (defaults to same directory as sendmail.exe)
; uncomment to enable debugging

;debug_logfile=debug.log

; if your smtp server requires authentication, modify the following two lines

auth_username=alexsantos.linux@gmail.com
auth_password=123456

; if your smtp server uses pop3 before smtp authentication, modify the
; following three lines

pop3_server=
pop3_username=
pop3_password=

; to force the sender to always be the following email address, uncomment and
; populate with a valid email address.  this will only affect the &quot;MAIL FROM&quot;
; command, it won't modify the &quot;From: &quot; header of the message content

force_sender=alexsantos.linux@gmail.com

; sendmail will use your hostname and your default_domain in the ehlo/helo
; smtp greeting.  you can manually set the ehlo/helo name if required

;hostname=
</pre>
</li>
<li>Agora edite seu arquivo php.ini e altere a sessão &#8220;mail function&#8221;, coloque o caminho do binário em <strong>sendmail_path</strong>, ignore a observação acima da linha dizendo que essa linha é somente para ambiente Unix, segue um exemplo de configuração abaixo:
<pre class="brush: php;">
[mail function]
; For Win32 only.
; SMTP=localhost
; smtp_port=25

; For Win32 only.
; sendmail_from = me@example.com
; For Unix only.  You may supply arguments as well (default: &quot;sendmail -t -i&quot;).
sendmail_path = &quot;C:\sendmail\sendmail.exe -t&quot;
; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
; mail.force_extra_parameters =
</pre>
</li>
<li>Reinicie seu servidor apache e pronto!</li>
</ol>
<p>Abraços&#8230;&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://diariodecodigos.info/2010/02/servidor-php-no-windows-com-smtp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP + UML</title>
		<link>http://diariodecodigos.info/2009/11/php-uml/</link>
		<comments>http://diariodecodigos.info/2009/11/php-uml/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 15:03:28 +0000</pubDate>
		<dc:creator>Alexandre Santos</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[UML]]></category>

		<guid isPermaLink="false">http://diariodecodigos.info/?p=715</guid>
		<description><![CDATA[Sempre utilizei o StarUML para criar meus diagramas de classes tanto para Java quanto para C# e a um tempo que eu já estava atrás de um diagrama de classe para PHP. Minha supresa foi que o StarUML dá suporte a gerar código de classes através de uma Template. Faça o download da Template aqui:]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-718" href="http://diariodecodigos.info/2009/11/php-uml/uml/"><img class="size-full wp-image-718 alignleft" style="border: 1px solid black; margin: 3px;" title="UML" src="http://diariodecodigos.info/wp-content/uploads/2009/11/UML.png" alt="UML" width="215" height="75" /></a>Sempre utilizei o<strong> StarUML</strong> para criar meus diagramas de classes tanto para <strong>Java</strong> quanto para C# e a um tempo que eu já estava atrás de um diagrama de classe para PHP.</p>
<p>Minha supresa foi que o StarUML dá suporte a gerar código de classes através de uma <strong>Template</strong>.<span id="more-715"></span></p>
<ol>
<li>Faça o download da Template aqui: <a href="http://staruml.sourceforge.net/files/PHP_5_Code_Generator.zip" target="_blank">PHP_5_Code_Generator.zip</a></li>
<li>Agora descompate o arquivo no diretório: <em><strong>&#8220;C:\Program Files\StarUML\modules\staruml-generator\templates&#8221;</strong></em></li>
</ol>
<p>Apenas isso, para gerar o código de uma classe UML vá em:</p>
<ul>
<li> &#8220;<strong>Tools</strong>&#8221; &gt; &#8220;<strong>StarUML Generator</strong>&#8220;</li>
</ul>
<p style="text-align: center;"><a href="http://diariodecodigos.info/wp-content/uploads/2009/11/StarUML-Generater.png" target="_blank"><img class="aligncenter size-full wp-image-719" style="border: 1px solid black;" title="StarUML-Generater" src="http://diariodecodigos.info/wp-content/uploads/2009/11/StarUML-Generater.png" alt="StarUML-Generater" width="614" height="461" /></a></p>
<p>Surgirá a janela do &#8220;<strong>StarUML Generator</strong>&#8221; escolha a Template do PHP, escolha o lugar que será criado as classes e finalize.</p>
<p style="text-align: center;"><a href="http://diariodecodigos.info/wp-content/uploads/2009/11/StarUML-Window-code-generator.png" target="_blank"><img class="aligncenter size-full wp-image-720" style="border: 1px solid black;" title="StarUML - Window code generator" src="http://diariodecodigos.info/wp-content/uploads/2009/11/StarUML-Window-code-generator.png" alt="StarUML - Window code generator" width="590" height="429" /></a></p>
<p>Boa Sorte.</p>
]]></content:encoded>
			<wfw:commentRss>http://diariodecodigos.info/2009/11/php-uml/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Zend Framework</title>
		<link>http://diariodecodigos.info/2009/10/zend-framework/</link>
		<comments>http://diariodecodigos.info/2009/10/zend-framework/#comments</comments>
		<pubDate>Sun, 18 Oct 2009 19:05:27 +0000</pubDate>
		<dc:creator>Alexandre Santos</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://diariodecodigos.info/?p=604</guid>
		<description><![CDATA[Estamos chegando ao final da primeira década do século 21 e até agora eu não utilizo nenhum MVC e nenhum Framework exceto o Framework .NET... acho que já passou da hora de aprender a utilizar um.]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-605" href="http://diariodecodigos.info/2009/10/zend-framework/zf-small/"><img class="alignleft size-full wp-image-605" style="border: 1px solid black; margin-left: 2px; margin-right: 2px;" title="ZF" src="http://diariodecodigos.info/wp-content/uploads/2009/10/ZF-small.png" alt="ZF" width="183" height="101" /></a> Estamos chegando ao final da primeira década do século 21 e até agora eu não utilizo nenhum <strong>MVC</strong> e nenhum <strong>Framework</strong> exceto o Framework <strong>.NET</strong>&#8230; acho que já passou da hora de aprender a utilizar um.</p>
<p><span id="more-604"></span></p>
<h2>Reflexão</h2>
<p>Ultimamente venho com algumas dúvidas sobre meu trabalho&#8230; sempre programei em <strong>PHP</strong>, agora comecei a utilizar também <strong>C#</strong>, mas pra Web ainda não confio muito na plataforma da <em>Microsoft</em> e continuo utilizando em muitos projetos o <strong>PHP</strong>.</p>
<p>A dúvida é: Continuo com <strong>PHP</strong> ou vou para <strong>Ruby on Rails</strong>?</p>
<p>Apesar de ser tudo mais simples em <strong>Ruby on Rails</strong>, quem já programa em <strong>PHP</strong> mudar de linguagem (Ruby) e  aprender um framework (Rails) do zero via ter muito trabalho pela frente&#8230; ter que estudar toda uma nova sintaxe, uma nova maneira de programar e aprender um framework novo, e ainda cho que <strong>Ruby on Rails</strong> pode ser apenas uma onda.</p>
<p>Então decidi continuar no <strong>PHP</strong>, que é extremamente poderoso, e aceito no mercado. Porém quero começar a usar algum framework para aprimorar meus conhecimentos e aumentar minha produtividade.</p>
<p>Sem saber por onde começar, usei o Pai! (Google) e achei um excelente site que fala dos mais atuais frameworks para php</p>
<blockquote><p><a href="http://www.phpframeworks.com/ " target="_blank">http://www.phpframeworks.com/ </a></p></blockquote>
<p>Excelente! E no rank dos 10 Frameworks mais &#8220;quentes&#8221; estava o <strong>CodeIgniter</strong>, comecei até a estudar ele, achei uma maravilha! Mas o projeto ainda não está muito maduro, partindo para o segundo lugar vi um do qual sempre ouvi falar, <strong>Zend Framework</strong>!</p>
<p>É&#8230; a primeira vista não muito com a cara dele não, achei tudo muito confuso (ainda mas pra quem é novo nesse mundo de frameworks) mas acabei, por diversos motivos, adotando ele. Não irei falar todos, mas o que mais me empurrou foi o fato dele ser completíssimo e ter uma empresa de nome por trás.</p>
<p>A curva de aprendizado é grande, até você se acostumar com novos conceitos e ver que aquilo tudo é poderoso você bate um pouco a cabeça.</p>
<p>Eu não conseguia entender que eu poderia ser produtivo usando <strong>MV</strong>C onde eu tinha que estudar milhões de coisas enquanto poderia simplesmente fazer minha velha organização de pastas e arquivos por classe, criando minhas próprias classes de abstração.</p>
<p><em>Mas pra que cria isso tudo sempre se já existe algo feito pra você?</em> Essa é uma boa pergunta (e o markting dos frameworks)&#8230; e a resposta pode simplesmente ser:  <em>Porque ter que estudar classes criadas pelos outros enquanto você pode criar as suas ser minimalista e ter o resultado semelhante?</em></p>
<p>Porém&#8230; uma coisa é certa, o framework te da <strong>Poder</strong> e depois de um tempo bastante <strong>produtividade</strong>!</p>
<p>Você estuda um monte de coisas (é gostoso estudar coisas novas), das quais você nunca iria imaginar que já existiriam prontas e que além disso tudo, aquilo realmente serve pra você! Você começa a perceber que é mais fácil e rápido, ler a documentação do<strong> Zend_Feed</strong> do que criar uma classe para cuidar de<strong> RSS</strong> no seu site.</p>
<p>Mas como aprender a usar <strong>Zend Framework</strong>?</p>
<p>No começo foi chato&#8230; a comunidade brasileira ainda é relativamente pequena, e não temos nenhuma documentação em português, e quando você encontra algo relativo na internet é sobre uma versão do Zend totalmente obsoleta.</p>
<h2>Por onde Começar?</h2>
<ul>
<li><strong>Quick Start -&gt;</strong> <a href="http://framework.zend.com/docs/quickstart" target="_blank">http://framework.zend.com/docs/quickstart</a><br />
É um tutorial bastante explicativo e objetivo sobre o framework, mas deixa muitas dúvidas e embola um pouco a cabeça. Como uma coisa que chamam de simples parece ser tão complexo?</li>
<li><strong>O segundo passo</strong> é uma dica minha: Comece a ler o “<strong>Guia de Referência do Programador</strong>”&#8230;<br />
Documentação Oficial (Em inglês): <a href="http://framework.zend.com/manual/en/" target="_blank">http://framework.zend.com/manual/en/</a><br />
Documentação pt-BR:  <a href="http://diariodecodigos.info/zendptbr/" target="_blank">http://diariodecodigos.info/zendptbr/</a></li>
<li><strong>Agora para aonde vamos?</strong><br />
Eu particularmente estou estudando os componentes principais sobre o <strong>MVC</strong> e o que gerencia o <strong>Aplicativo</strong>, acho que é interessante dominar esses componentes, o restante são apenas componentes que você vai utilizar para agilizar seu trabalho a realizar determinadas tarefas:</li>
<li><strong> Componentes Principais: </strong>
<ul>
<li><span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/introduction.html" target="_blank">1. Introdução Zend Framework</a></span></li>
<li><span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.application.html" target="_blank">4. Zend_Application</a></span></li>
<li><span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.config.html" target="_blank">9. Zend_Config</a></span></li>
<li><span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.controller.html" target="_blank">12. Zend_Controller</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.exception.html" target="_blank"> 19. Zend_Exception</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.http.html" target="_blank"> 25. Zend_Http</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.layout.html" target="_blank"> 28. Zend_Layout</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.server.html" target="_blank"> 47. Zend_Server</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.tool.framework.html" target="_blank"> 55. Zend_Tool_Framework</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.tool.project.html" target="_blank"> 56. Zend_Tool_Project</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.uri.html" target="_blank"> 58. Zend_Uri</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.version.html" target="_blank"> 60. Zend_Version</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.view.html" target="_blank"> 61. Zend_View</a></span></li>
</ul>
<p>Acho que conhecendo eles você já consegue manipular todo o projeto e o ambiente MVC do seu aplicativo de maneira bastante satisfatória.</li>
<li><strong> Componentes Interessantes: </strong>
<ul> <!-- INÍCIO LISTA --></p>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.acl.html" target="_blank">2. Zend_ACL</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.auth.html" target="_blank">5. Zend_Auth</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.cache.html" target="_blank">6. Zend_Cache</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.captcha.html" target="_blank">7. Zend_Captcha</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.currency.html" target="_blank">13. Zend_Currency</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.date.html" target="_blank">14. Zend_Date</a></span></li>
<li><span class="chapter"><a href="http://www.diariodecodigos.info/zend/ptBR/zend.db.html" target="_blank">15. Zend_Db</a></span></li>
<li><span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.debug.html" target="_blank">16. Zend_Debug</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.exception.html" target="_blank"> 19. Zend_Exception</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.feed.html" target="_blank"> 20. Zend_Feed</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.file.html" target="_blank"> 21. Zend_File</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.form.html" target="_blank"> 23. Zend_Form</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.locale.html" target="_blank"> 31. Zend_Locale</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.log.html" target="_blank"> 32. Zend_Log</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.mail.html" target="_blank"> 33. Zend_Mail</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.navigation.html" target="_blank"> 37. Zend_Navigation</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.openid.html" target="_blank"> 38. Zend_OpenID</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.pdf.html" target="_blank"> 40. Zend_OpenID</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.queue.html" target="_blank"> 42. Zend_Queue</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.rest.html" target="_blank"> 45. Zend_Rest</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.search.lucene.html" target="_blank"> 46. Zend_Search_Lucene</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.service.html" target="_blank"> 48. Zend_Service</a></span>
<ul>
<li><span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.service.akismet.html" target="_blank"> 48.2 Zend_Service_Akismet</a></span></li>
<li><span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.service.amazon.html" target="_blank"> 48.3 Zend_Service_Amazon</a></span></li>
<li><span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.service.amazon.ec2.html" target="_blank"> 48.4 Zend_Service_Amazon_Ec2</a></span></li>
<li><span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.service.audioscrobbler.html" target="_blank"> 48.17 Zend_Audioscrobbler</a></span></li>
<li><span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.service.amazon.html" target="_blank"> 48.3 Zend_Service_Amazon</a></span></li>
<li><span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.service.delicious.html" target="_blank"> 48.18 Zend_Service_Delicious</a></span></li>
<li><span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.service.flickr.html" target="_blank"> 48.19 Zend_Service_Flickr</a></span></li>
<li><span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.service.twitter.html" target="_blank"> 48.28 Zend_Service_Twitter</a></span></li>
<li><span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.service.yahoo.html" target="_blank"> 48.29 Zend_Service_Yahoo</a></span></li>
</ul>
</li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.session.html" target="_blank"> 49. Zend_Session</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.soap.html" target="_blank"> 50. Zend_Soap</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.tag.html" target="_blank"> 51. Zend_Tag</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.test.html" target="_blank"> 52. Zend_Test</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.text.html" target="_blank"> 53. Zend_Text</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.timesync.html" target="_blank"> 54. Zend_TimeSync</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.translate.html" target="_blank"> 57. Zend_Translate</a></span></li>
<li><span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zend.validate.html" target="_blank"> 59. Zend_Validate</a></span></li>
<li> <span class="chapter"><a href="http://diariodecodigos.info/zend/ptBR/zendx.jquery.html" target="_blank"> 65. ZendX_JQuery</a></span></li>
</ul>
</li>
<li><strong>Última Dica<br />
</strong>Faça o download da documentação do API (<a href="http://framework.zend.com/docs/api" target="_blank">http://framework.zend.com/docs/api</a>)vai ser bastante útil.<br />
Também temos exemplos na Documentação (<a href="http://framework.zend.com/manual/en/" target="_blank">http://framework.zend.com/manual/en/</a>) vá em direção ao rodapé da pagina e clique em &#8220;List of Exemples&#8221;.</li>
</ul>
<p style="text-align: center;"><a href="http://diariodecodigos.info/wp-content/uploads/2009/10/zend-api.png" target="_blank"><img class="aligncenter size-full wp-image-614" style="border: 2px solid black;" title="zend-api" src="http://diariodecodigos.info/wp-content/uploads/2009/10/zend-api.png" alt="zend-api" width="722" height="328" /></a></p>
<p style="text-align: center;"><a href="http://diariodecodigos.info/wp-content/uploads/2009/10/list-exemple.png" target="_blank"><img class="aligncenter size-full wp-image-615" style="border: 2px solid black;" title="list-exemple" src="http://diariodecodigos.info/wp-content/uploads/2009/10/list-exemple.png" alt="list-exemple" width="322" height="302" /></a></p>
<p>Áh&#8230; também existe um detalhe muito importante! Caso você não queira usar o Framework por inteiro, pode utilizar somente o recurso que desejado, porque todos esses componentes não passam de bibliotecas, basta copiar as classes para seu projeto, ler a documentação e ser feliz!</p>
<p>Bons Estudos.</p>
]]></content:encoded>
			<wfw:commentRss>http://diariodecodigos.info/2009/10/zend-framework/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>PHP: Datas e Decimais no Padrão Nacional</title>
		<link>http://diariodecodigos.info/2009/08/php-hora-e-casas-decimais-no-padrao-nacional/</link>
		<comments>http://diariodecodigos.info/2009/08/php-hora-e-casas-decimais-no-padrao-nacional/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 17:05:40 +0000</pubDate>
		<dc:creator>Alexandre Santos</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[BR]]></category>
		<category><![CDATA[Decimal]]></category>
		<category><![CDATA[EUA]]></category>
		<category><![CDATA[Float]]></category>

		<guid isPermaLink="false">http://diariodecodigos.info/?p=327</guid>
		<description><![CDATA[Quem está montando um sistema ou qualquer que seja o App em php com MySQL e tem campos com Datas ou valores Monetários terá a necessidade (uma hora) de converter a data para o padrão nacional na hora de ler. E converter para o padrão americano para salvar, assim como os valores monetários também, onde]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-333" title="PHP" src="http://diariodecodigos.info/wp-content/uploads/2009/08/php-logo.jpg" alt="PHP" width="237" height="185" />Quem está montando um sistema ou qualquer que seja o App em php com MySQL e tem campos com Datas ou valores Monetários terá a necessidade (uma hora) de converter a data para o padrão nacional na hora de ler.</p>
<p>E converter para o padrão americano para salvar, assim como os valores monetários também, onde eles utilizam &#8220;.&#8221; (ponto) para decimal e aqui utilizamos o &#8220;,&#8221; (vírgula).</p>
<p><span id="more-327"></span>Para esse &#8220;desencontro cultural&#8221; eu costumo utilizar funções para converter, segue algumas abaixo:</p>
<p><strong>Converter Datas EUA para Brasil:</strong></p>
<pre class="brush: php;">
function DateUSAtoBR($dateUSA){
if ($dateUSA != &quot;&quot;){
$ano = substr($dateUSA, 0, 4);
$mes = substr($dateUSA, 5, 2);
$dia = substr($dateUSA, 8, 2);
$dateBR = $dia . '/' . $mes . '/' . $ano;
return $dateBR;
} else {
return &quot;&quot;;
}
}
</pre>
<p><strong>Converter Datas de BR para EUA:</strong></p>
<pre class="brush: php;">
function DateBRtoUSA($dateBR){
if ($dateBR != &quot;&quot;){
$ano = substr($dateBR, 6, 4);
$mes = substr($dateBR, 3, 2);
$dia = substr($dateBR, 0, 2);
$dateUSA = $ano . '-' . $mes . '-' . $dia;
return $dateUSA;
} else {
return &quot;&quot;;
}
}
</pre>
<p><strong>Converter valor decimal (float) EUA para Brasil:</strong></p>
<pre class="brush: php;">
function DecimalUSAtoBR($dado){
if ($dado != &quot;&quot;){
return number_format($dado, 2, &quot;,&quot;, &quot;.&quot;);
} else {
return &quot;&quot;;
}
}
</pre>
<p>P.S: Essa função <a href="http://br2.php.net/manual/pt_BR/function.number-format.php" target="_blank">number_format()</a> é de mais!</p>
<p><strong>Converter valor decimal (float) Brasil para EUA:</strong></p>
<pre class="brush: php;">
function DecimalBRtoUSA($dado){
if ($dado != &quot;&quot;){
return number_format($dado, 2);
} else {
return &quot;&quot;;
}
}
</pre>
<p>Bem é só isso, a função <a href="http://br2.php.net/manual/pt_BR/function.number-format.php" target="_blank">number_format() </a>também faz redundância de valores caso você defina quer deseja somente 1 casa decimal.</p>
]]></content:encoded>
			<wfw:commentRss>http://diariodecodigos.info/2009/08/php-hora-e-casas-decimais-no-padrao-nacional/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

