<?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"
	>

<channel>
	<title>Jonas Ruth - WebDEV</title>
	<atom:link href="http://www.jonasruth.com.br/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jonasruth.com.br/blog</link>
	<description>PHP, MySQL, Javascript, HTML, CSS</description>
	<pubDate>Wed, 15 Oct 2008 19:30:21 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>Smarty e o problema (bug) com objetos aninhados (nested)</title>
		<link>http://www.jonasruth.com.br/blog/2008/09/20/smarty-e-o-problema-bug-com-objetos-aninhados-nested/</link>
		<comments>http://www.jonasruth.com.br/blog/2008/09/20/smarty-e-o-problema-bug-com-objetos-aninhados-nested/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 01:04:28 +0000</pubDate>
		<dc:creator>Jonas Ruth</dc:creator>
		
		<category><![CDATA[Dicas]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Smarty]]></category>

		<category><![CDATA[smarty bug problema objeto objetos aninhados nested]]></category>

		<guid isPermaLink="false">http://www.jonasruth.com.br/blog/?p=29</guid>
		<description><![CDATA[Comecei a poucos dias a utilizar o Smarty. Ele é um conjunto de classes que separa o papel do designer e do programador em duas partes distintas de forma fácil e segura.
A versão utilizada é a 2.6.20.
Encontrei um problema quando precisei trabalhar com objetos aninhados (quando um objeto é referenciado por outro). Quando utilizo no [...]]]></description>
			<content:encoded><![CDATA[<p>Comecei a poucos dias a utilizar o Smarty. Ele é um conjunto de classes que separa o papel do designer e do programador em duas partes distintas de forma fácil e segura.</p>
<p><strong>A versão utilizada é a 2.6.20.</strong></p>
<p>Encontrei um problema quando precisei trabalhar com objetos aninhados (quando um objeto é referenciado por outro). Quando utilizo no template o código abaixo, o Smarty compila corretamente. Linha de código no meu template:</p>
<blockquote><p>{$pessoaOBJ-&gt;getNome()}</p></blockquote>
<p>Mas quando resolvia ter uma informação sobre um objeto aninhado não dava muito certo. Veja o exemplo:</p>
<blockquote><p>{$pessoaOBJ-&gt;getMae()-&gt;getNome()}</p></blockquote>
<p>Resultado: não compilou.</p>
<p>Procurei (procurei, procurei&#8230;) e encontrei a solução. É uma correção em uma linha de código do arquivo <strong>Smarty_Compiler.class.php</strong>. Abra o arquivo em um editor de texto qualquer e basta procurar por perto da <strong>linha 164</strong>. O código a alterar é:</p>
<blockquote><p><span>$this-&gt;_obj_call_regexp = &#8216;(?:&#8217; . $this-&gt;_obj_start_regexp . &#8216;(?:&#8217; . $this-&gt;_obj_params_regexp . &#8216;)?(?:&#8217; . $this-&gt;_dvar_math_regexp . &#8216;(?:&#8217; . $this-&gt;_num_const_regexp . &#8216;|&#8217; . $this-&gt;_dvar_math_var_regexp . &#8216;)*)?)&#8217;;</span></p></blockquote>
<p>Basta comentá-lo. E adicionar o código na linha seguinte:</p>
<blockquote><p><span>$this-&gt;_obj_call_regexp = &#8216;(?:&#8217; . $this-&gt;_obj_start_regexp . &#8216;(?:&#8217; . $this-&gt;_obj_params_regexp . &#8221; . &#8216;(?:&#8217; . $this-&gt;_obj_ext_regexp . $this-&gt;_obj_params_regexp . &#8216;)*&#8217; . &#8216;)?(?:&#8217; . $this-&gt;_dvar_math_regexp . &#8216;(?:&#8217; . $this-&gt;_num_const_regexp . &#8216;|&#8217; . $this-&gt;_dvar_math_var_regexp . &#8216;)*)?)&#8217;;</span></p></blockquote>
<p>Então para não haver confusão:<br />
Antes:</p>
<blockquote><p><span>$this-&gt;_obj_call_regexp = &#8216;(?:&#8217; . $this-&gt;_obj_start_regexp . &#8216;(?:&#8217; . $this-&gt;_obj_params_regexp . &#8216;)?(?:&#8217; . $this-&gt;_dvar_math_regexp . &#8216;(?:&#8217; . $this-&gt;_num_const_regexp . &#8216;|&#8217; . $this-&gt;_dvar_math_var_regexp . &#8216;)*)?)&#8217;;</span></p></blockquote>
<p>Depois:</p>
<blockquote><p><span>// $this-&gt;_obj_call_regexp = &#8216;(?:&#8217; . $this-&gt;_obj_start_regexp . &#8216;(?:&#8217; . $this-&gt;_obj_params_regexp . &#8216;)?(?:&#8217; . $this-&gt;_dvar_math_regexp . &#8216;(?:&#8217; . $this-&gt;_num_const_regexp . &#8216;|&#8217; . $this-&gt;_dvar_math_var_regexp . &#8216;)*)?)&#8217;;<br />
</span><span>$this-&gt;_obj_call_regexp = &#8216;(?:&#8217; . $this-&gt;_obj_start_regexp . &#8216;(?:&#8217; . $this-&gt;_obj_params_regexp . &#8221; . &#8216;(?:&#8217; . $this-&gt;_obj_ext_regexp . $this-&gt;_obj_params_regexp . &#8216;)*&#8217; . &#8216;)?(?:&#8217; . $this-&gt;_dvar_math_regexp . &#8216;(?:&#8217; . $this-&gt;_num_const_regexp . &#8216;|&#8217; . $this-&gt;_dvar_math_var_regexp . &#8216;)*)?)&#8217;;</span></p></blockquote>
<p>Então espero que tenha ficado bem explicadinho. Qualquer coisa confira <a title="O site que achei a solução" href="http://php-common.palepurple.co.uk/index.cgi/changeset/266" target="_blank">o site que achei a solução</a> (<a title="site que achei a solução" href="http://php-common.palepurple.co.uk/index.cgi/changeset/266" target="_blank">http://php-common.palepurple.co.uk/index.cgi/changeset/266</a>)Quero que se existir qualquer dúvida adicione um comentário ou envie-me um email diretamente. Prefiro que mande email, estou com um problemão de SPAM aqui no blog =( e não quero apagar comentários legítimos.</p>
<p>Um abraço!</p>

	<h4>Related posts</h4>
	<ul class='st-related-posts'>
	<li>No related posts.</li>
	</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.jonasruth.com.br/blog/2008/09/20/smarty-e-o-problema-bug-com-objetos-aninhados-nested/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Formatando datas no MySQL</title>
		<link>http://www.jonasruth.com.br/blog/2008/06/24/formatando-datas-no-mysql/</link>
		<comments>http://www.jonasruth.com.br/blog/2008/06/24/formatando-datas-no-mysql/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 12:04:50 +0000</pubDate>
		<dc:creator>Jonas Ruth</dc:creator>
		
		<category><![CDATA[MySQL]]></category>

		<category><![CDATA[data]]></category>

		<category><![CDATA[date_format]]></category>

		<category><![CDATA[formatando]]></category>

		<guid isPermaLink="false">http://www.jonasruth.com.br/blog/?p=28</guid>
		<description><![CDATA[A formatação de datas com date_format é muito gratificante pela sua facilidade e praticidade de uso. Particularmente, uso esta função sempre que preciso formatar datas vindas do banco de dados MySQL.
date_format(sua_data,formatação)
Formatar para Dia/Mes/Ano (24/06/2008)

&#8211;Pega data do servidor MySQL
select date_format(now(),&#8217;%d/%m/%Y&#8217;);
&#8211;Pega data de um campo de tabela
select date_format(meu_campo_data,&#8217;%d/%m/%Y&#8217;) as data_formatada from minha_tabela;
Trouxe apenas este formato por ser [...]]]></description>
			<content:encoded><![CDATA[<p>A formatação de datas com <strong>date_format</strong> é muito gratificante pela sua facilidade e praticidade de uso. Particularmente, uso esta função sempre que preciso formatar datas vindas do banco de dados MySQL.</p>
<blockquote><p>date_format(sua_data,formatação)</p></blockquote>
<p><strong>Formatar para Dia/Mes/Ano (24/06/2008)</strong><strong><br />
</strong></p>
<blockquote><p>&#8211;Pega data do servidor MySQL<br />
select date_format(now(),&#8217;%d/%m/%Y&#8217;);<br />
&#8211;Pega data de um campo de tabela<br />
select date_format(meu_campo_data,&#8217;%d/%m/%Y&#8217;) as data_formatada from minha_tabela;</p></blockquote>
<p>Trouxe apenas este formato por ser o mais comum no Brasil, mas existem vários especificadores de formato de data no MySQL.</p>
<p>Na tabela a seguir seguem outros especificadores:</p>
<table border="0">
<tbody>
<tr>
<td><span class="bold"><strong>Especificador</strong></span></td>
<td><span class="bold"><strong>Descrição</strong></span></td>
</tr>
<tr>
<td>%M</td>
<td>Nome do Mês (January..December)</td>
</tr>
<tr>
<td>%c</td>
<td>Mês, numérico (0..12)</td>
</tr>
<tr>
<td>%H</td>
<td>Hora (00..23)</td>
</tr>
<tr>
<td>%h</td>
<td>Hora (01..12)</td>
</tr>
<tr>
<td>%i</td>
<td>Minutos, numérico (00..59)</td>
</tr>
<tr>
<td>%k</td>
<td>Hora (0..23)</td>
</tr>
<tr>
<td>%l</td>
<td>Hora (1..12)</td>
</tr>
<tr>
<td>%m</td>
<td>Mês, numérico (00..12)</td>
</tr>
<tr>
<td>%S</td>
<td>Segundos (00..59)</td>
</tr>
<tr>
<td>%s</td>
<td>Segundos (00..59)</td>
</tr>
<tr>
<td>%T</td>
<td>Tempo, 24-horas (hh:mm:ss)</td>
</tr>
<tr>
<td>%W</td>
<td>Nome do dia da semana(Sunday..Saturday)</td>
</tr>
<tr>
<td>%Y</td>
<td>Ano, numérico, quatro dígitos</td>
</tr>
<tr>
<td>%y</td>
<td>Ano, numérico (dois dígitos)</td>
</tr>
</tbody>
</table>
<p>A tabela acima pode ser vista na íntegra no site da <a title="MySQL - date_format" href="http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_date-format" target="_blank">MySQL</a> (<a title="MySQL - date_format" href="http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_date-format" target="_blank">http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_date-format</a>).</p>
<p>A formatação das datas é feita diretamente no banco de dados, por isso pode ser utilizada na linguagem de programação que preferir.</p>
<p>Abraços!</p>

	<h4>Related posts</h4>
	<ul class='st-related-posts'>
	<li>No related posts.</li>
	</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.jonasruth.com.br/blog/2008/06/24/formatando-datas-no-mysql/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Satisfação aos leitores</title>
		<link>http://www.jonasruth.com.br/blog/2008/04/25/satisfacao-aos-leitores/</link>
		<comments>http://www.jonasruth.com.br/blog/2008/04/25/satisfacao-aos-leitores/#comments</comments>
		<pubDate>Fri, 25 Apr 2008 04:21:49 +0000</pubDate>
		<dc:creator>Jonas Ruth</dc:creator>
		
		<category><![CDATA[comunicados]]></category>

		<category><![CDATA[atarefado]]></category>

		<category><![CDATA[desculpas]]></category>

		<category><![CDATA[ocupado]]></category>

		<category><![CDATA[satisfações]]></category>

		<category><![CDATA[sem tempo]]></category>

		<guid isPermaLink="false">http://www.jonasruth.com.br/blog/?p=27</guid>
		<description><![CDATA[Peço desculpas para quem procura algo novo ou complementos dos artigos que publico. Infelizmente estou muito atarefado no momento e não tenho tempo e o pó de guaraná não está surtindo muito efeito (positivo). As costas tortas, os pés inchados, os olhos vermelhos e secos com ardência.
Putz! Com esses 3 minutos eu podia ter tomado [...]]]></description>
			<content:encoded><![CDATA[<p>Peço desculpas para quem procura algo novo ou complementos dos artigos que publico. Infelizmente estou muito atarefado no momento e não tenho tempo e o pó de guaraná não está surtindo muito efeito (positivo). As costas tortas, os pés inchados, os olhos vermelhos e secos com ardência.</p>
<p>Putz! Com esses 3 minutos eu podia ter tomado um café. Mentira, foram 5 minutos pra escrever isso.</p>

	<h4>Related posts</h4>
	<ul class='st-related-posts'>
	<li>No related posts.</li>
	</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.jonasruth.com.br/blog/2008/04/25/satisfacao-aos-leitores/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Notícias que ninguém quer saber</title>
		<link>http://www.jonasruth.com.br/blog/2008/04/19/noticias-que-ninguem-quer-saber/</link>
		<comments>http://www.jonasruth.com.br/blog/2008/04/19/noticias-que-ninguem-quer-saber/#comments</comments>
		<pubDate>Sat, 19 Apr 2008 16:23:02 +0000</pubDate>
		<dc:creator>Jonas Ruth</dc:creator>
		
		<category><![CDATA[Portfolio]]></category>

		<category><![CDATA[biblioteca gd]]></category>

		<category><![CDATA[comunicados]]></category>

		<category><![CDATA[novidades]]></category>

		<category><![CDATA[artigos]]></category>

		<category><![CDATA[criando imagens com php]]></category>

		<category><![CDATA[criarweb]]></category>

		<category><![CDATA[publicações]]></category>

		<guid isPermaLink="false">http://www.jonasruth.com.br/blog/?p=26</guid>
		<description><![CDATA[É com orgulho que comunico a publicação do meu artigo Criando Imagens com PHP - Parte 1 no site CriarWeb. É um artigo simples e prático, do tipo &#8220;copie e cole o exemplo&#8221;. Vale a pena conferir.
Acesse: http://www.criarweb.com/artigos/criando-imagens-com-php.html
Abraços
JONAS RUTH - WEBDEV

	Related posts
	
	No related posts.
	

]]></description>
			<content:encoded><![CDATA[<p>É com orgulho que comunico a publicação do meu artigo <a title="Criando Imagens com PHP - Parte 1" href="http://www.jonasruth.com.br/blog/2008/04/01/criando-imagens-com-php-parte-1/" target="_self">Criando Imagens com PHP - Parte 1</a> no site CriarWeb. É um artigo simples e prático, do tipo &#8220;copie e cole o exemplo&#8221;. Vale a pena conferir.</p>
<p>Acesse: <a title="http://www.criarweb.com/artigos/criando-imagens-com-php.html" href="http://www.criarweb.com/artigos/criando-imagens-com-php.html" target="_blank">http://www.criarweb.com/artigos/criando-imagens-com-php.html</a></p>
<p>Abraços<br />
JONAS RUTH - WEBDEV</p>

	<h4>Related posts</h4>
	<ul class='st-related-posts'>
	<li>No related posts.</li>
	</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.jonasruth.com.br/blog/2008/04/19/noticias-que-ninguem-quer-saber/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Friendly-Fire</title>
		<link>http://www.jonasruth.com.br/blog/2008/04/06/friendly-fire/</link>
		<comments>http://www.jonasruth.com.br/blog/2008/04/06/friendly-fire/#comments</comments>
		<pubDate>Sun, 06 Apr 2008 18:18:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Sistemas Operacionais]]></category>

		<category><![CDATA[humor]]></category>

		<category><![CDATA[fogo-amigo]]></category>

		<category><![CDATA[friendly-fire]]></category>

		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.jonasruth.com.br/blog/?p=24</guid>
		<description><![CDATA[Cada coisa que me acontece por causa do Windows. Normalmente isso me acontece só nos momentos de diversão com Counter-Strike&#8230;
O Windows matando o Windows Explorer pq ele é &#8220;Periogoso&#8221; pra mim. Agora que o windows descobriu isso? Eu já sabia&#8230;


	Related posts
	
	No related posts.
	

]]></description>
			<content:encoded><![CDATA[<p>Cada coisa que me acontece por causa do Windows. Normalmente isso me acontece só nos momentos de diversão com Counter-Strike&#8230;</p>
<p>O Windows matando o Windows Explorer pq ele é &#8220;Periogoso&#8221; pra mim. Agora que o windows descobriu isso? Eu já sabia&#8230;</p>
<p><a title="Ver imagem fogo-amigo" href="http://www.jonasruth.com.br/blog/wp-content/uploads/2008/04/fogo-amigo.jpg" target="_blank"><img class="alignnone size-medium wp-image-25" title="fogo-amigo" src="http://www.jonasruth.com.br/blog/wp-content/uploads/2008/04/fogo-amigo-300x187.jpg" alt="Fogo-Amigo" width="300" height="187" /></a></p>

	<h4>Related posts</h4>
	<ul class='st-related-posts'>
	<li>No related posts.</li>
	</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.jonasruth.com.br/blog/2008/04/06/friendly-fire/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Criando Imagens com PHP - Parte 1</title>
		<link>http://www.jonasruth.com.br/blog/2008/04/01/criando-imagens-com-php-parte-1/</link>
		<comments>http://www.jonasruth.com.br/blog/2008/04/01/criando-imagens-com-php-parte-1/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 03:19:11 +0000</pubDate>
		<dc:creator>Jonas Ruth</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[biblioteca gd]]></category>

		<category><![CDATA[imagens]]></category>

		<category><![CDATA[biblioteca]]></category>

		<category><![CDATA[criando]]></category>

		<category><![CDATA[gd]]></category>

		<category><![CDATA[gif]]></category>

		<category><![CDATA[images]]></category>

		<category><![CDATA[JPEG]]></category>

		<category><![CDATA[library]]></category>

		<category><![CDATA[manipulando]]></category>

		<guid isPermaLink="false">http://www.jonasruth.com.br/blog/2008/04/01/criando-imagens-com-php/</guid>
		<description><![CDATA[Isso é sério?
Sim, é possível criar imagens com apenas o PHP. Basta ter a biblioteca GD instalada no PHP do seu servidor. Pode-se fazer coisas incríveis utilizando as funções que a biblioteca GD disponibiliza. Uma delas é aquele sistema típico de imagem de verificação em formulários.

Iniciando
O código que apresento é o pontapé inicial para nosso [...]]]></description>
			<content:encoded><![CDATA[<h4>Isso é sério?</h4>
<p>Sim, é possível criar imagens com apenas o PHP. Basta ter a biblioteca GD instalada no PHP do seu servidor. Pode-se fazer coisas incríveis utilizando as funções que a biblioteca GD disponibiliza. Uma delas é aquele sistema típico de imagem de verificação em formulários.<strong><br />
</strong></p>
<h4><strong>Iniciando</strong></h4>
<p>O código que apresento é o pontapé inicial para nosso desenvolvimento:</p>
<blockquote><p><code>&lt;?php<br />
//diz ao servidor que isto é do tipo mime image/gif<br />
header("Content-type:image/gif");<br />
// cria uma imagem com 200 de largura e 200 de altura<br />
$img = imagecreate(200,200);<br />
//deixo o fundo com a cor azul<br />
$azul = imagecolorallocate($img,0,0,255);<br />
//faço a imagem ser impressa em vídeo<br />
imagegif($img);<br />
//retiro a imagem da memoria<br />
imagedestroy($img);<br />
?&gt;</code></p></blockquote>
<p>O resultado é uma imagem inteira azul. <a title="Criando Imagens com PHP - Exemplo 1" href="http://www.jonasruth.com.br/artigos/criando-imagens-com-php-parte-1/exemplo1.php" target="_blank">Ver exemplo aqui</a>.</p>
<h4><strong>Inserindo Texto na Imagem</strong></h4>
<blockquote><p><code>&lt;?php<br />
header("Content-type:image/gif");<br />
$img = imagecreate(200,200);<br />
$azul = imagecolorallocate($img,0,0,255);<br />
//defino algumas outras cores<br />
$branco = imagecolorallocate($img,255,255,255);<br />
$verde = imagecolorallocate($img,0,255,0);<br />
//escrevendo www.JONASRUTH.com.br em branco<br />
//IMPORTANTE: Neste exemplo copie o arquivo de fonte para a mesma pasta que este arquivo<br />
imagettftext($img,10,0,5,15,$branco,"Arial.ttf","www.JONASRUTH.com.br");<br />
//isso também funcionaria, mas agora em verde!<br />
$meuTexto = "www.JONASRUTH.com.br";<br />
imagettftext($img,10,0,5,40,$verde,"Arial.ttf",$meuTexto);<br />
imagegif($img);<br />
imagedestroy($img);<br />
?&gt;</code></p></blockquote>
<p>Agora o resultado é a uma imagem com textos. <a title="Criando Imagens com PHP - Exemplo 2: Imagem com texto" href="http://www.jonasruth.com.br/artigos/criando-imagens-com-php-parte-1/exemplo2.php" target="_blank">Ver exemplo aqui</a>.</p>
<p>Para criar imagens JPEG basta alterar o header(&#8221;Content-type:image/gif&#8221;) para header(&#8221;Content-type:image/jpeg&#8221;) e o imagegif($img) para imagejpeg($img);<strong><br />
</strong></p>
<h4><strong>Testando</strong></h4>
<p>Para testar este exercício adicione esta imagem a uma pagina HTML assim: <code>&lt;img src="http://www.seuservidor.com.br/criando-imagens-com-php.php" /&gt;</code>. Ou diretamente, abrindo o arquivo no seu navegador WEB. Naturalmente o servidor onde o arquivo PHP está necessita ter suporte à linguagem.</p>
<p><a title="Baixe os arquivos fonte." href="http://www.jonasruth.com.br/downloads/Criando-Imagens-com-PHP.rar" target="_blank">Baixe aqui os arquivos-fonte finais.</a></p>
<p>Caso necessite, no site do PHP (<a title="Manual PHP em www.php.net" href="http://www.php.net/" target="_blank">php.net</a>) pode-se encontrar a descrição das funções utilizadas neste tutorial.</p>
<p><strong>Fique atento para a Parte 2 deste artigo. Breve.</strong></p>
<p>E a vida segue. Abraço!<br />
-Jonas Ruth</p>

	<h4>Related posts</h4>
	<ul class='st-related-posts'>
	<li><a href="http://www.jonasruth.com.br/blog/2008/03/22/php-orientado-a-objetos-modificadores-de-acesso/" title="PHP Orientado a Objetos: Modificadores de Acesso (março 22, 2008)">PHP Orientado a Objetos: Modificadores de Acesso</a> (0)</li>
	<li><a href="http://www.jonasruth.com.br/blog/2008/03/11/misturando-html-com-php/" title="Misturando HTML com PHP (março 11, 2008)">Misturando HTML com PHP</a> (0)</li>
	<li><a href="http://www.jonasruth.com.br/blog/2008/03/08/instalando-o-servidor-apache-no-seu-pc/" title="Instalando o servidor Apache no seu PC (março 8, 2008)">Instalando o servidor Apache no seu PC</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.jonasruth.com.br/blog/2008/04/01/criando-imagens-com-php-parte-1/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PHP Orientado a Objetos: Modificadores de Acesso</title>
		<link>http://www.jonasruth.com.br/blog/2008/03/22/php-orientado-a-objetos-modificadores-de-acesso/</link>
		<comments>http://www.jonasruth.com.br/blog/2008/03/22/php-orientado-a-objetos-modificadores-de-acesso/#comments</comments>
		<pubDate>Sun, 23 Mar 2008 01:18:27 +0000</pubDate>
		<dc:creator>Jonas Ruth</dc:creator>
		
		<category><![CDATA[PHP]]></category>

		<category><![CDATA[oop]]></category>

		<category><![CDATA[classe]]></category>

		<category><![CDATA[modificador de acesso]]></category>

		<guid isPermaLink="false">http://www.jonasruth.com.br/blog/2008/03/22/php-orientado-a-objetos-modificadores-de-acesso/</guid>
		<description><![CDATA[Modificador de Acesso: Define o acesso que as classes tem a um elemento. Esse elemento pode ser uma classe, atributo ou método (função).
Define-se utilizando uma das palavras-chave:

public: Acessível por qualquer classe.
protected: Acessível por qualquer classe herdeira.
private: Acessível somente pela própria classe.

Vamos a um exemplo básico:
class Pessoa{
    protected $nome;
    public [...]]]></description>
			<content:encoded><![CDATA[<p>Modificador de Acesso: Define o acesso que as classes tem a um elemento. Esse elemento pode ser uma classe, atributo ou método (função).</p>
<p>Define-se utilizando uma das palavras-chave:</p>
<ul>
<li>public: Acessível por qualquer classe.</li>
<li>protected: Acessível por qualquer classe herdeira.</li>
<li>private: Acessível somente pela própria classe.</li>
</ul>
<p>Vamos a um exemplo básico:</p>
<blockquote><p><code>class Pessoa{<br />
</code><code>   </code><code> protected $nome;<br />
</code><code>   </code><code> public function __construct($nome){<br />
</code><code>   </code><code>$this-&gt;nome = $nome;<br />
</code><code>   </code><code> }<br />
}<br />
class PessoaFisica extends Pessoa{<br />
</code><code>   </code><code> private $rg;<br />
</code><code>   </code><code> private $cpf;<br />
</code><code>   </code><code> public function __construct($nome,$rg,$cpf){<br />
</code><code>   </code><code>   </code><code> parent::__construct($nome);<br />
</code><code>   </code><code>   </code><code> $this-&gt;rg = $rg;<br />
</code><code>   </code><code>   </code><code> $this-&gt;cpf = $cpf;<br />
</code><code>   </code><code>   </code><code> $this-&gt;nome = 'xxxx'; //isto é possível pois $nome é acessível por classes herdeiras     de Pessoa. (protected)<br />
</code><code>   </code><code> }<br />
}<br />
class Cidade {<br />
</code><code>   </code><code> public function __construct(){<br />
</code><code>   </code><code>   </code><code> $p = new PessoaFisica('João','123456','56874');<br />
</code><code>   </code><code>   </code><code> $p-&gt;cpf = '999999'; //isto não é possível pois cpf tem acesso privado.<br />
</code><code>   </code><code> }<br />
}</code></p></blockquote>
<p>É isso aí<br />
Abraços</p>
<p>-Jonas Ruth</p>

	<h4>Related posts</h4>
	<ul class='st-related-posts'>
	<li><a href="http://www.jonasruth.com.br/blog/2008/04/01/criando-imagens-com-php-parte-1/" title="Criando Imagens com PHP - Parte 1 (abril 1, 2008)">Criando Imagens com PHP - Parte 1</a> (0)</li>
	<li><a href="http://www.jonasruth.com.br/blog/2008/03/11/misturando-html-com-php/" title="Misturando HTML com PHP (março 11, 2008)">Misturando HTML com PHP</a> (0)</li>
	<li><a href="http://www.jonasruth.com.br/blog/2008/03/08/instalando-o-servidor-apache-no-seu-pc/" title="Instalando o servidor Apache no seu PC (março 8, 2008)">Instalando o servidor Apache no seu PC</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.jonasruth.com.br/blog/2008/03/22/php-orientado-a-objetos-modificadores-de-acesso/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mudando de assunto no blog</title>
		<link>http://www.jonasruth.com.br/blog/2008/03/17/mudando-de-assunto-no-blog/</link>
		<comments>http://www.jonasruth.com.br/blog/2008/03/17/mudando-de-assunto-no-blog/#comments</comments>
		<pubDate>Tue, 18 Mar 2008 01:54:13 +0000</pubDate>
		<dc:creator>Jonas Ruth</dc:creator>
		
		<category><![CDATA[comunicados]]></category>

		<category><![CDATA[novidades]]></category>

		<category><![CDATA[assunto]]></category>

		<category><![CDATA[blog]]></category>

		<category><![CDATA[mudando]]></category>

		<guid isPermaLink="false">http://www.jonasruth.com.br/blog/2008/03/17/mudando-de-assunto-no-blog/</guid>
		<description><![CDATA[Olá pessoas que me visitam&#8230; (que silêncio)
É justamente sobre este &#8220;(que silêncio)&#8221; que vim falar. Vou mudar um pouco o modo de escrever no blog. Estive pensando um pouco e cheguei a conclusão de que as pessoas iniciantes tendem a procurar os grandes portais para tirar suas dúvidas. Sei que mesmo não entendendo tudo o [...]]]></description>
			<content:encoded><![CDATA[<p>Olá pessoas que me visitam&#8230; (que silêncio)</p>
<p>É justamente sobre este &#8220;(que silêncio)&#8221; que vim falar. Vou mudar um pouco o modo de escrever no blog. Estive pensando um pouco e cheguei a conclusão de que as pessoas iniciantes tendem a procurar os grandes portais para tirar suas dúvidas. Sei que mesmo não entendendo tudo o que lêem num grande portal, as atrações que encontram são bem maiores. Claro que vou tentar atender aos pedidos de ajuda sempre.</p>
<p>Então vamos falar mais curto e ir direto ao ponto. Sem explicações muito prolongadas, tratando de ajudar rápido e sem enrolação. Sobre coisas que freqüentemente usamos, mas as vezes surge uma dúvida em algum pequeno detalhe. E o que normalmente fazemos? Vamos ao google. Quero estar lá para ajudar.</p>
<p>Um abraço e vamos para o próximo post.</p>
<p>-Jonas Ruth</p>

	<h4>Related posts</h4>
	<ul class='st-related-posts'>
	<li>No related posts.</li>
	</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.jonasruth.com.br/blog/2008/03/17/mudando-de-assunto-no-blog/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Iniciando no Javascript</title>
		<link>http://www.jonasruth.com.br/blog/2008/03/15/iniciando-no-javascript/</link>
		<comments>http://www.jonasruth.com.br/blog/2008/03/15/iniciando-no-javascript/#comments</comments>
		<pubDate>Sat, 15 Mar 2008 03:33:12 +0000</pubDate>
		<dc:creator>Jonas Ruth</dc:creator>
		
		<category><![CDATA[Iniciando]]></category>

		<category><![CDATA[Javascript]]></category>

		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://www.jonasruth.com.br/blog/2008/03/15/iniciando-no-javascript/</guid>
		<description><![CDATA[Neste tutorial falaremos um pouco sobre Javascript.
O Javascript
Há pouco tempo atrás o Javascript era uma linguagem que tinha muito má fama. Era sub-utilizada pelos &#8220;desenvolvedores&#8221; da época. Normalmente era aplicada para criar pop-ups insistentes, questionários sem fundamento algum do tipo de &#8220;Diga seu nome&#8221; e coisas mais que não serviam para nada além de te [...]]]></description>
			<content:encoded><![CDATA[<p>Neste tutorial falaremos um pouco sobre Javascript.</p>
<blockquote><p><strong>O Javascript</strong><br />
Há pouco tempo atrás o Javascript era uma linguagem que tinha muito má fama. Era sub-utilizada pelos &#8220;desenvolvedores&#8221; da época. Normalmente era aplicada para criar pop-ups insistentes, questionários sem fundamento algum do tipo de &#8220;Diga seu nome&#8221; e coisas mais que não serviam para nada além de te encher o saco. Desculpa o termo, mas era assim que você falava mesmo. Graças a Deus este tipo de uso tem se extingüido da web e hoje raramente é encontrado um site assim.<br />
O Javascript serve para executar comandos  e é interpretado no browser do visitante sem o servidor envolver-se. Com criatividade seu uso pode ser muito satisfatório.</p></blockquote>
<p><strong>Dica de possíveis problemas:</strong></p>
<ul>
<li>Para que você consiga utilizar o javascript certifique-se de que ele está ativado em seu browser. Normalmente está;</li>
<li>Um pequeno erro basta para atrapalhar a execução do código. O javascript diferentemente do PHP não avisa qual foi o erro ocorrido nem onde ocorreu;</li>
<li>Existem algumas diferenças de interpretação do código de browser para browser. Normalmente testo meus códigos no Firefox e Internet Explorer 6. Dica: Sempre faça o mesmo em quantos browsers for possível;</li>
<li>Por hora é isso.</li>
</ul>
<h4>Iniciando:</h4>
<p>Para este tutorial usaremos uma página html padrão como a do post <a href="http://www.jonasruth.com.br/blog/2008/03/11/misturando-html-com-php/" target="_blank" rel="bookmark" title="Permanent Link to Misturando HTML com PHP">Misturando HTML com PHP</a>.<br />
O código javascript na sua página deve ficar entre &lt;script&gt; e &lt;/script&gt;. Na sua página ficaria assim:</p>
<blockquote><p><code> &lt;html&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="content-type" content="text/html; charset=iso-8859-1"&gt; &lt;!--codificação da página--&gt;<br />
&lt;title&gt;Seu titulo&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;script type="text/javascript" language="javascript"&gt;<br />
//aqui seu código javascript;<br />
&lt;/script&gt;<br />
&lt;body&gt;<br />
&lt;!--aqui fica a parte visivel da sua pagina--&gt;<br />
&lt;? echo "Isto foi escrito via PHP";?&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</code></p></blockquote>
<p>Vamos dar mais um passo, dentro das tag script escreva:</p>
<blockquote><p><code> //As frases após as duas barras não influenciam no código. É apenas um comentário feito no código<br />
function somar(valor1,valor2){<br />
var resultado=0; //define a variável resultado inicialmente como zero<br />
resultado = eval(valor1+'+'+valor2); //resultado recebe o valor da soma de valor1+valor2<br />
alert("Resultado da soma é "+resultado); //emite uma mensagem informando o resultado da soma<br />
}</code></p></blockquote>
<p>Salve o arquivo e repare em uma coisinha.. Quando somamos usamos &#8216;+&#8217; para somar os dois números a sua volta, mas quando vamos emitir a mensagem existe um &#8216;+&#8217; também e não serve para somar. Na primeira ocorrência o &#8216;+&#8217; é um operador aritmético utilizado para somar e na segunda o &#8216;+&#8217; tem função de concatenar, quer dizer, juntar uma coisa (string) com outra. O &#8216;eval&#8217; interpreta uma string onde nela está escrita a expressão aritmética é como se escrevessemos eval(&#8221;1 + 1&#8243;).  O &#8216;alert&#8217; é a função que emite uma mensagem de alerta na tela.</p>
<p>(continuando&#8230;)</p>
<p>A seguir entre as tags body da sua página vamos adicionar dois campos de textos. Os valores adicionados a eles serão atribuídos respectivamente a valor1 e valor2 no código javascript após clicar no botão &#8220;Somar&#8221; da página. Lembre que o código a seguir fica entre as tags body:</p>
<blockquote><p><code> &lt;input type="text" name="valor1"&gt;<br />
&lt;input type="text" name="valor2"&gt;<br />
&lt;input type="button" value="Somar" onclick="somar(valor1.value,valor2.value);"&gt;</code></p></blockquote>
<h4>Testando:</h4>
<p>Para testar você precisa apenas abrir o arquivo no seu browser, digitar os valores numéricos nos dois campos e clicar no botão &#8220;Somar&#8221;. Se tudo der certo aparecerá para você uma mensagem informando o resultado da soma.</p>
<p><strong>Conseguiu? Um probleminha encontrado..</strong></p>
<p>No Internet Explorer 6 o código funcionou, mas no Firefox não. INCOMPATIBILIDADE!<br />
É um bom motivo para você pesquisar um pouquinho e fazer novos testes assim como estou fazendo.<br />
Acompanhe este post para conferir as atualizações e correções.</p>
<h4>Finalizando</h4>
<p>Da mesma forma como você somou utilizando o operador &#8216;+&#8217; você pode efetuar outros tipos de operações seguindo o mesmo formato deste tutorial, como  subtração, multiplicação, divisão e mais outras.</p>
<p>Se seu teste não dá certo, se existe erro no meu código ou incompatibilidade entre browsers (Foi testado no Internet Explorer) deixa um comentário, assim como para dúvidas e sugestões.</p>
<p>Um Abraço!<br />
- Jonas Ruth <img src='http://www.jonasruth.com.br/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><a href='http://blogblogs.com.br/my/gadgets/ping?url=http://www.jonasruth.com.br/blog' title='Pingar o BlogBlogs' rel='alternate'><img src='http://assets3.blogblogs.com.br/public/bb/images/gadgets/bbgad_ping_1.gif' alt='Pingar o BlogBlogs'></a></p>

	<h4>Related posts</h4>
	<ul class='st-related-posts'>
	<li><a href="http://www.jonasruth.com.br/blog/2008/03/11/misturando-html-com-php/" title="Misturando HTML com PHP (março 11, 2008)">Misturando HTML com PHP</a> (0)</li>
	<li><a href="http://www.jonasruth.com.br/blog/2008/03/08/instalando-o-servidor-apache-no-seu-pc/" title="Instalando o servidor Apache no seu PC (março 8, 2008)">Instalando o servidor Apache no seu PC</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.jonasruth.com.br/blog/2008/03/15/iniciando-no-javascript/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Misturando HTML com PHP</title>
		<link>http://www.jonasruth.com.br/blog/2008/03/11/misturando-html-com-php/</link>
		<comments>http://www.jonasruth.com.br/blog/2008/03/11/misturando-html-com-php/#comments</comments>
		<pubDate>Tue, 11 Mar 2008 23:45:24 +0000</pubDate>
		<dc:creator>Jonas Ruth</dc:creator>
		
		<category><![CDATA[Iniciando]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[html]]></category>

		<category><![CDATA[misturando]]></category>

		<guid isPermaLink="false">http://www.jonasruth.kinghost.net/blog/2008/03/11/misturando-html-com-php/</guid>
		<description><![CDATA[Vamos partir do princípio que a estrutura de uma página HTML já seja conhecida.
Para todo o caso um exemplo:
&#60;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&#62;
&#60;html&#62;
&#60;head&#62;
&#60;meta http-equiv="content-type" content="text/html; charset=iso-8859-1"&#62; &#60;!--codificação da página--&#62;
&#60;title&#62;Seu titulo&#60;/title&#62;
&#60;/head&#62;
&#60;body&#62;
&#60;!--aqui fica a parte visivel da sua pagina--&#62;
&#60;? echo "Isto foi escrito via PHP";?&#62;
&#60;/body&#62;
&#60;/html&#62;
Para mesclar HTML e PHP é uma tarefa muito simples [...]]]></description>
			<content:encoded><![CDATA[<p>Vamos partir do princípio que a estrutura de uma página HTML já seja conhecida.<br />
Para todo o caso um exemplo:</p>
<blockquote><p><code>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="content-type" content="text/html; charset=iso-8859-1"&gt; &lt;!--codificação da página--&gt;<br />
&lt;title&gt;Seu titulo&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;!--aqui fica a parte visivel da sua pagina--&gt;<br />
&lt;? echo "Isto foi escrito via PHP";?&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</code></p></blockquote>
<p>Para mesclar HTML e PHP é uma tarefa muito simples e fácil.<br />
Por exemplo se quiser adicionar a data de acesso no título da página é preciso apenas fazer o seguinte:</p>
<blockquote><p><code>  &lt;title&gt;Seu titulo - &lt;?php echo date("d/m/Y"); ?&gt;&lt;/title&gt;</code></p></blockquote>
<p>Explicando:</p>
<ul>
<li>Todo código PHP deve ser obrigatóriamente iniciado por <em><strong>&lt;?php</strong></em> e finalizado por <em><strong>?&gt;</strong></em>. Estes símbolos são chamados de <strong>delimitadores</strong>, que também poderiam ser escritos como <strong>&lt;? ?&gt;</strong> e teriam a mesma função. O código entre os delimitadores é o qual vai ser interpretado pelo servidor como código PHP.</li>
<li>A função <em><strong>echo</strong></em> no título diz para o interpretador escrever a string retornada por date().  A função date() retorna a data do servidor no formato em que é solicitado pela string <em><strong>&#8220;d/m/Y&#8221;</strong></em> que seria o mesmo que 13/04/2008, por exemplo.</li>
<li>No corpo da página (&lt;body&gt;&lt;/body&gt;) será escrita a frase <em>&#8220;Isto foi escrito via PHP&#8221;</em>.</li>
</ul>
<p>Assim como a função date pode lhe retornar a data, muitas outras podem lhe ser de muita utilidade (Use-as com moderação, risos). Basta você checar a lista de funções no site da linguagem PHP (<a href="http://www.php.net" title="PHP.NET" target="_blank">www.php.net</a>).</p>
<p>O seu aprendizado exige muito mais do que eu tento passar. Os manuais em geral não são muito úteis, mas o manual PHP é muito didático, ensina com exemplos e respostas, com a diferença que também pode ser lido em Português do Brasil.</p>
<p>Quero ter sido útil com este post.<br />
Os milhares de comentários são lidos e respondidos, hehe.<br />
Abraço!<br />
- Jonas Ruth</p>

	<h4>Related posts</h4>
	<ul class='st-related-posts'>
	<li><a href="http://www.jonasruth.com.br/blog/2008/04/01/criando-imagens-com-php-parte-1/" title="Criando Imagens com PHP - Parte 1 (abril 1, 2008)">Criando Imagens com PHP - Parte 1</a> (0)</li>
	<li><a href="http://www.jonasruth.com.br/blog/2008/03/22/php-orientado-a-objetos-modificadores-de-acesso/" title="PHP Orientado a Objetos: Modificadores de Acesso (março 22, 2008)">PHP Orientado a Objetos: Modificadores de Acesso</a> (0)</li>
	<li><a href="http://www.jonasruth.com.br/blog/2008/03/15/iniciando-no-javascript/" title="Iniciando no Javascript (março 15, 2008)">Iniciando no Javascript</a> (0)</li>
	<li><a href="http://www.jonasruth.com.br/blog/2008/03/08/instalando-o-servidor-apache-no-seu-pc/" title="Instalando o servidor Apache no seu PC (março 8, 2008)">Instalando o servidor Apache no seu PC</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.jonasruth.com.br/blog/2008/03/11/misturando-html-com-php/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
