<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Joao Neto's Blog</title>
	<atom:link href="http://joaonetognu.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://joaonetognu.wordpress.com</link>
	<description>Algumas idéias para um mundo melhor - Blog do João Neto!</description>
	<lastBuildDate>Mon, 03 Nov 2008 20:37:52 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='joaonetognu.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Joao Neto's Blog</title>
		<link>http://joaonetognu.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://joaonetognu.wordpress.com/osd.xml" title="Joao Neto&#039;s Blog" />
	<atom:link rel='hub' href='http://joaonetognu.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Tratando Erros do PostGreSQL em PHP</title>
		<link>http://joaonetognu.wordpress.com/2008/10/20/tratando-erros-do-postgresql-em-php/</link>
		<comments>http://joaonetognu.wordpress.com/2008/10/20/tratando-erros-do-postgresql-em-php/#comments</comments>
		<pubDate>Mon, 20 Oct 2008 23:24:11 +0000</pubDate>
		<dc:creator>João</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Postgres]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[PostGreSQL]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://joaonetognu.wordpress.com/?p=33</guid>
		<description><![CDATA[Existem certas maneiras de tratar os erros do PGSQL &#8211; PHP Evitando que o usuário receba mensagens que não lhe interessam. Apresento um código que funciona: &#60;?php /** * Qualquer um possui permissao para alterar e utilizar * esse codigo ou qualquer trecho dele livremente * &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; */ ?&#62; &#60;?php /** * Classe para gerenciar [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaonetognu.wordpress.com&amp;blog=4509836&amp;post=33&amp;subd=joaonetognu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Existem certas maneiras de tratar os erros do PGSQL &#8211; PHP Evitando que o usuário receba mensagens que não lhe interessam.</p>
<p>Apresento um código que funciona:</p>
<div style="background-color:#eaf3fa;"><span style="font-weight:bold;color:#000000;">&lt;?php</span><span style="color:#000000;"> </span><span style="font-style:italic;color:#0000ff;">/**</span><span style="font-style:italic;color:#0000ff;"> * Qualquer um possui permissao para alterar e utilizar</span></p>
<p><span style="font-style:italic;color:#0000ff;"> * esse codigo ou qualquer trecho dele livremente </span></p>
<p><span style="font-style:italic;color:#0000ff;"> * &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span></p>
<p><span style="font-style:italic;color:#0000ff;">*/</span></p>
<p><span style="font-weight:bold;color:#000000;">?&gt;</span></p>
<p><span style="font-weight:bold;color:#000000;">&lt;?php</span><span style="color:#000000;"> </span></p>
<p><span style="color:#000000;"> </span><span style="font-style:italic;color:#0000ff;">/**</span></p>
<p><span style="font-style:italic;color:#0000ff;"> * Classe para gerenciar as consultas SQL do Projeto</span></p>
<p><span style="font-style:italic;color:#0000ff;"> * Versao 1.0 &#8211; Autor: Joao Neto </span><span style="font-weight:bold;color:#000000;">&lt;joao_neto</span><span style="color:#008000;">@ymail.com</span><span style="font-weight:bold;color:#000000;">&gt;</span></p>
<p><span style="font-style:italic;color:#0000ff;"> * Data: 20/out/2008</span></p>
<p><span style="font-style:italic;color:#0000ff;"> * </span></p>
<p><span style="font-style:italic;color:#0000ff;"> */</span></p>
<p><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">class</span><span style="color:#000000;"> Conection {</span></p>
<p style="padding-left:30px;"><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">private</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">static</span><span style="color:#000000;"> </span><span style="color:#5555ff;">$conection</span><span style="color:#000000;"> = </span><span style="font-weight:bold;color:#000000;">null</span><span style="color:#000000;">;</span></p>
<p style="padding-left:30px;"><span style="color:#000000;"> </span></p>
<p style="padding-left:30px;"><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">function</span><span style="color:#000000;"> </span><span style="color:#000080;">__construct</span><span style="color:#000000;"> ( ) {</span></p>
<p style="padding-left:60px;"><span style="color:#000000;"> </span><span style="color:#a1a100;">if</span><span style="color:#000000;"> ( </span><span style="color:#5555ff;">$this</span><span style="color:#000000;">-&gt;conection == </span><span style="font-weight:bold;color:#000000;">null</span><span style="color:#000000;"> ) </span></p>
<p style="padding-left:90px;"><span style="color:#000000;"> </span><span style="color:#5555ff;">$this</span><span style="color:#000000;">-&gt;conection = </span><span style="color:#5555ff;">$this</span><span style="color:#000000;">-&gt;conectaBanco(); </span></p>
<p style="padding-left:30px;"><span style="color:#000000;"> }</span></p>
<p style="padding-left:30px;"><span style="color:#000000;"> </span></p>
<p style="padding-left:30px;"><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">function</span><span style="color:#000000;"> begin ( ) {</span></p>
<p style="padding-left:60px;"><span style="color:#000000;"> </span><span style="color:#5555ff;">$this</span><span style="color:#000000;">-&gt;executaQuery ( </span><span style="color:#dd0000;">&#8220;BEGIN&#8221;</span><span style="color:#000000;"> , </span><span style="font-weight:bold;color:#000000;">null</span><span style="color:#000000;"> ); </span></p>
<p style="padding-left:30px;"><span style="color:#000000;"> }</span></p>
<p style="padding-left:30px;"><span style="color:#000000;"> </span></p>
<p style="padding-left:30px;"><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">function</span><span style="color:#000000;"> commit ( ) {</span></p>
<p style="padding-left:60px;"><span style="color:#000000;"> </span><span style="color:#5555ff;">$this</span><span style="color:#000000;">-&gt;executaQuery ( </span><span style="color:#dd0000;">&#8220;COMMIT&#8221;</span><span style="color:#000000;"> , </span><span style="font-weight:bold;color:#000000;">null</span><span style="color:#000000;"> ); </span></p>
<p style="padding-left:30px;"><span style="color:#000000;"> }</span></p>
<p style="padding-left:30px;"><span style="color:#000000;"> </span></p>
<p style="padding-left:30px;"><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">function</span><span style="color:#000000;"> rollback ( ) { </span></p>
<p style="padding-left:60px;"><span style="color:#000000;"> </span><span style="color:#5555ff;">$this</span><span style="color:#000000;">-&gt;executaQuery ( </span><span style="color:#dd0000;">&#8220;ROLLBACK&#8221;</span><span style="color:#000000;"> , </span><span style="font-weight:bold;color:#000000;">null</span><span style="color:#000000;"> );</span></p>
<p style="padding-left:30px;"><span style="color:#000000;"> }</span></p>
<p style="padding-left:30px;"><span style="color:#000000;"> </span></p>
<p style="padding-left:30px;"><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">function</span><span style="color:#000000;"> executaQuery ( </span><span style="color:#5555ff;">$sql</span><span style="color:#000000;">, </span><span style="color:#5555ff;">$mensagem</span><span style="color:#000000;"> ) {</span></p>
<p style="padding-left:60px;"><span style="color:#000000;"> </span><span style="color:#000080;">pg_send_query</span><span style="color:#000000;"> ( </span><span style="color:#5555ff;">$this</span><span style="color:#000000;">-&gt;conection, </span><span style="color:#5555ff;">$sql</span><span style="color:#000000;"> );</span></p>
<p style="padding-left:60px;"><span style="color:#000000;"> </span><span style="color:#5555ff;">$result</span><span style="color:#000000;"> = </span><span style="color:#000080;">pg_get_result</span><span style="color:#000000;"> (</span><span style="color:#5555ff;">$this</span><span style="color:#000000;">-&gt;conection);</span></p>
<p style="padding-left:60px;"><span style="color:#000000;"> </span></p>
<p style="padding-left:60px;"><span style="color:#000000;"> </span><span style="font-style:italic;color:#808080;">//erro</span></p>
<p style="padding-left:60px;"><span style="color:#000000;"> </span><span style="color:#a1a100;">if</span><span style="color:#000000;"> ( </span><span style="color:#5555ff;">$result</span><span style="color:#000000;"> == </span><span style="color:#0000ff;">7</span><span style="color:#000000;"> ) {</span></p>
<p style="padding-left:90px;"><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">new</span><span style="color:#000000;"> Mensagem ( </span><span style="color:#5555ff;">$mensagem</span><span style="color:#000000;"> );</span></p>
<p style="padding-left:90px;"><span style="color:#000000;"> </span><span style="color:#a1a100;">return</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">false</span><span style="color:#000000;">; </span><span style="font-style:italic;color:#808080;">//costumo usar exit; mas, como exemplo retorne false! </span></p>
<p style="padding-left:60px;"><span style="color:#000000;"> }</span><span style="color:#a1a100;">else</span></p>
<p style="padding-left:90px;"><span style="color:#000000;"> </span><span style="color:#a1a100;">return</span><span style="color:#000000;"> </span><span style="color:#5555ff;">$result</span><span style="color:#000000;">; </span><span style="font-style:italic;color:#808080;">//retorna um resource</span></p>
<p style="padding-left:30px;"><span style="color:#000000;"> }</span></p>
<p style="padding-left:30px;"><span style="color:#000000;"> </span></p>
<p style="padding-left:30px;"><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">private</span><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">function</span><span style="color:#000000;"> conectaBanco ( ) {</span></p>
<p style="padding-left:60px;"><span style="color:#000000;"> </span><span style="color:#5555ff;">$host</span><span style="color:#000000;"> = </span><span style="color:#dd0000;">&#8220;host=localhost user=usuario password=senha database=banco port=5432&#8243;</span><span style="color:#000000;">;</span></p>
<p style="padding-left:60px;"><span style="color:#000000;"> </span><span style="color:#5555ff;">$con</span><span style="color:#000000;"> = </span><span style="color:#000080;">pg_connect</span><span style="color:#000000;"> ( </span><span style="color:#5555ff;">$host</span><span style="color:#000000;"> ) </span><span style="font-weight:bold;color:#000000;">or</span><span style="color:#000000;"> </span><span style="color:#000080;">die</span><span style="color:#000000;"> ( </span><span style="color:#dd0000;">&#8220;Falha ao conectar!&#8221;</span><span style="color:#000000;"> );</span></p>
<p style="padding-left:60px;"><span style="color:#000000;"> </span><span style="color:#a1a100;">return</span><span style="color:#000000;"> </span><span style="color:#5555ff;">$con</span><span style="color:#000000;">;</span></p>
<p style="padding-left:30px;"><span style="color:#000000;"> }</span></p>
<p><span style="color:#000000;">}</span></p>
<p><span style="color:#000000;"> </span><span style="font-style:italic;color:#0000ff;">/**</span></p>
<p><span style="font-style:italic;color:#0000ff;"> * Classe para gerenciar as Mensagens do Seu projeto</span></p>
<p><span style="font-style:italic;color:#0000ff;"> * Para fins de exemplo coloquei-a no mesmo arquivo .php</span></p>
<p><span style="font-style:italic;color:#0000ff;"> * Coloque essa classe em um PATH onde toda sua aplicacao tenha acesso.</span></p>
<p><span style="font-style:italic;color:#0000ff;"> * Essa classe eh util por voce nao precisar editar o estilo de suas mensagens</span></p>
<p><span style="font-style:italic;color:#0000ff;"> * em varios lugares diferentes! Use o poder da POO!!</span></p>
<p><span style="font-style:italic;color:#0000ff;"> * Versao 1.0 &#8211; Autor: Joao Neto </span><span style="font-weight:bold;color:#000000;">&lt;<em>joao_neto</em></span><em><span style="color:#000000;">@ymail.com</span></em><span style="font-weight:bold;color:#000000;">&gt;</span></p>
<p><span style="font-style:italic;color:#0000ff;"> * Data: 20/out/2008</span></p>
<p><span style="font-style:italic;color:#0000ff;"> * </span></p>
<p><span style="font-style:italic;color:#0000ff;"> */</span></p>
<p><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">class</span><span style="color:#000000;"> Mensagem {</span></p>
<p style="padding-left:30px;"><span style="color:#000000;"> </span><span style="font-weight:bold;color:#000000;">function</span><span style="color:#000000;"> </span><span style="color:#000080;">__construct</span><span style="color:#000000;"> ( </span><span style="color:#5555ff;">$mensagem</span><span style="color:#000000;"> ) {</span></p>
<p style="padding-left:60px;"><span style="color:#000000;"> </span><span style="font-style:italic;color:#808080;">//insira CSS, parametros com Links!</span></p>
<p style="padding-left:60px;"><span style="color:#000000;"> </span><span style="color:#000080;">echo</span><span style="color:#000000;"> </span><span style="color:#dd0000;">&#8220;&lt;fieldset&gt; </span><span style="font-weight:bold;color:#0f0f8f;">\n</span></p>
<p style="padding-left:90px;"><span style="color:#dd0000;"> </span><span style="font-weight:bold;color:#0f0f8f;">\t</span><span style="color:#dd0000;">&lt;legend&gt;Mensagem&lt;/legend&gt; </span><span style="font-weight:bold;color:#0f0f8f;">\n</span></p>
<p style="padding-left:90px;"><span style="color:#dd0000;"> </span><span style="font-weight:bold;color:#0f0f8f;">\t</span><span style="color:#5555ff;">$mensagem</span><span style="font-weight:bold;color:#0f0f8f;">\n</span></p>
<p style="padding-left:90px;"><span style="color:#dd0000;"> &lt;/fieldset&gt;</span><span style="font-weight:bold;color:#0f0f8f;">\n</span><span style="color:#dd0000;">&#8220;</span><span style="color:#000000;">;</span></p>
<p style="padding-left:30px;"><span style="color:#000000;"> } </span></p>
<p><span style="color:#000000;"> }</span></p>
<p><span style="font-weight:bold;color:#000000;">?&gt;</span></div>
<p>Você pode usar as funcões <strong>pg_send_query</strong> e <strong>pg_get_result</strong>. A primeira evita que o resultado da consulta SQL seja exibida diretamente para o usuário, evitando que mensagens do tipo &#8220;INVALID FOREIGN KEY(&#8230;), OU A TABELA yyy NAO EXISTE&#8221;.</p>
<p>Voce pode enviar várias consultas com a função <span style="color:#333399;"><strong>pg_send_query</strong></span>, e capturar resultado delas recursivamente com <span style="color:#333399;"><strong>pg_get_result</strong></span>.</p>
<p><strong>DICA: </strong><strong>Retornos do <strong><span style="color:#333399;">pg_get_result</span>:</strong></strong></p>
<table border="1">
<tbody>
<tr>
<td style="vertical-align:top;">Variável</td>
<td style="vertical-align:top;">Valor</td>
<td style="vertical-align:top;">Descrição</td>
</tr>
<tr>
<td style="vertical-align:top;">PGSQL_COMMAND_OK</td>
<td style="vertical-align:top;">1</td>
<td style="vertical-align:top;">Valor retornado caso a query<br />
tenha retornado resultados</td>
</tr>
<tr>
<td style="vertical-align:top;">PGSQL_EMPTY_QUERY</td>
<td style="vertical-align:top;">0</td>
<td style="vertical-align:top;">Valor retornado caso a query<br />
esteja vazia</td>
</tr>
<tr>
<td style="vertical-align:top;">PGSQL_BAD_RESPONSE</td>
<td style="vertical-align:top;">5</td>
<td style="vertical-align:top;">Valor retornado caso a query<br />
tenha retornado um valor desconhecido</td>
</tr>
<tr>
<td style="vertical-align:top;">PGSQL_NONFATAL_ERROR</td>
<td style="vertical-align:top;">6</td>
<td style="vertical-align:top;">Valor retornado caso a query<br />
tenha retornado um Warning</td>
</tr>
<tr>
<td style="vertical-align:top;">PGSQL_FATAL_ERROR</td>
<td style="vertical-align:top;">7</td>
<td style="vertical-align:top;">Valor retornado caso a query<br />
tenha retornado um Erro</td>
</tr>
</tbody>
</table>
<p><strong><strong>Do contrário, <strong><span style="color:#333399;">pg_get_result</span></strong> retorna um <span style="color:#333399;"><strong>resource</strong></span> que já estamos habituados a utilizar!</strong></strong></p>
<p><strong><strong>Fica então o código como exemplo!</strong></strong></p>
<p><strong><strong>Tabela de Retornos de pg_get_result:</strong></strong></p>
<p><strong><strong>Espero ter ajudado! Um abraço!</strong></strong></p>
<br />Publicado em PHP, Postgres, Programação, Tutorial Tagged: apache, html, PHP, PostGreSQL, Programação, web <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/joaonetognu.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/joaonetognu.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/joaonetognu.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/joaonetognu.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/joaonetognu.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/joaonetognu.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/joaonetognu.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/joaonetognu.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/joaonetognu.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/joaonetognu.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/joaonetognu.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/joaonetognu.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/joaonetognu.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/joaonetognu.wordpress.com/33/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaonetognu.wordpress.com&amp;blog=4509836&amp;post=33&amp;subd=joaonetognu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://joaonetognu.wordpress.com/2008/10/20/tratando-erros-do-postgresql-em-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a0b61880e852732833ff1b190a97b5f3?s=96&#38;d=identicon" medium="image">
			<media:title type="html">joaonetognu</media:title>
		</media:content>
	</item>
		<item>
		<title>Auto Increment Para PostGreSQL</title>
		<link>http://joaonetognu.wordpress.com/2008/09/21/auto-increment-para-postgresql/</link>
		<comments>http://joaonetognu.wordpress.com/2008/09/21/auto-increment-para-postgresql/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 01:43:12 +0000</pubDate>
		<dc:creator>João</dc:creator>
				<category><![CDATA[Postgres]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://joaonetognu.wordpress.com/?p=27</guid>
		<description><![CDATA[Auto incremento é uma facilidade muito usada em gerenciadores de bancos de dados, como MySQL. Serve para a cada inserção em uma tabela seja gerado um índice único, numérico crescente, facilitando a indexação das tabelas. Ex no MySQL 5: CREATE TABLE teste ( idTeste INT NOT NULL AUTO INCREMENT, nome VARCHAR(20) NOT NULL ); Crio [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaonetognu.wordpress.com&amp;blog=4509836&amp;post=27&amp;subd=joaonetognu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Auto incremento é uma facilidade muito usada em gerenciadores de bancos de dados, como MySQL. Serve para a cada inserção em uma tabela seja gerado um índice único, numérico crescente, facilitando a indexação das tabelas.</p>
<p>Ex no MySQL 5:</p>
<p>CREATE TABLE teste (<br />
idTeste INT NOT NULL AUTO INCREMENT,<br />
nome VARCHAR(20) NOT NULL<br />
);</p>
<p>Crio alguns INSERTS:</p>
<p>INSERT INTO teste(nome) values(&#8216;PRIMEIRA LINHA&#8217;);<br />
INSERT INTO teste(nome) values(&#8216;SEGUNDA LINHA&#8217;);<br />
SELECT * FROM teste;</p>
<table style="text-align:left;width:249px;height:58px;" border="1" cellspacing="2" cellpadding="2">
<tbody>
<tr>
<td>idTeste</td>
<td>nome</td>
</tr>
<tr>
<td>1</td>
<td>PRIMEIRA LINHA</td>
</tr>
<tr>
<td>2</td>
<td>SEGUNDA LINHA</td>
</tr>
</tbody>
</table>
<p>Já no PostGreSQL, essa facilidade é obtida de uma forma um pouco diferente:</p>
<p>Primeiro temos que criar uma sequencia:</p>
<p>CREATE SEQUENCE sq_teste_autoIncrement START WITH 1 NO MINVALUE NO MAXVALUE;</p>
<p>Entao crie a tabela:</p>
<p>CREATE TABLE teste (<br />
idTeste INTEGER NOT NULL DEFAULT nextval(&#8216;sq_teste_autoIncrement&#8217;),<br />
nome CHARACTER VARYING(20) NOT NULL<br />
);</p>
<p>Com os INSERTS, o resultado é o mesmo:</p>
<p>INSERT INTO teste(nome) values(&#8216;PRIMEIRA LINHA&#8217;);<br />
INSERT INTO teste(nome) values(&#8216;SEGUNDA LINHA&#8217;);<br />
SELECT * FROM teste;</p>
<table style="text-align:left;width:249px;height:58px;" border="1" cellspacing="2" cellpadding="2">
<tbody>
<tr>
<td>idTeste</td>
<td>nome</td>
</tr>
<tr>
<td>1</td>
<td>PRIMEIRA LINHA</td>
</tr>
<tr>
<td>2</td>
<td>SEGUNDA LINHA</td>
</tr>
</tbody>
</table>
<p>Para facilitar esse trabalho, um tipo do PostGreSQL para esse tipo de operação é o tipo SERIAL:</p>
<p>CREATE TABLE teste (<br />
idTeste SERIAL NOT NULL,<br />
nome CHARACTER VARYING(20) NOT NULL<br />
);</p>
<p>Quando se executa essa QUERY, o PostGreSQL faz:<br />
1 &#8211; Cria uma sequencia de nome &lt;NomeTabela&gt;_&lt;NomeColuna&gt;_seq<br />
2 &#8211; Define que a coluna é do tipo INTEGER e que o valor DEFAULT é nextval(&lt;NomeTabela&gt;_&lt;NomeColuna&gt;_seq)</p>
<p>Eu prefiro criar eu mesmo as sequencias e definir o valor padrão dos campos com a função nextval(), as duas operações não contam diferenças para o SGBD (Até porque no fim fazem a mesma coisa), mas criar passo a passo torna o código mais legível &#8211; pelo menos pra mim!</p>
<p><span style="font-weight:bold;">Mas, cuidado!</span><br />
Tente fazer o seguinte (Isso eles não contam na documentação!) <img src='http://s2.wp.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>CREATE TABLE teste (<br />
idTeste INTEGER NOT NULL DEFAULT nextval(&#8216;sq_teste_autoIncrement&#8217;),<br />
nome CHARACTER VARYING(20) NOT NULL<br />
);</p>
<p>INSERT INTO teste(nome) values(&#8216;PRIMEIRA LINHA&#8217;);<br />
INSERT INTO teste(nome) values(&#8216;SEGUNDA LINHA&#8217;);<br />
SELECT * FROM teste;</p>
<table style="text-align:left;width:249px;height:58px;" border="1" cellspacing="2" cellpadding="2">
<tbody>
<tr>
<td>idTeste</td>
<td>nome</td>
</tr>
<tr>
<td>1</td>
<td>PRIMEIRA LINHA</td>
</tr>
<tr>
<td>2</td>
<td>SEGUNDA LINHA</td>
</tr>
</tbody>
</table>
<p>Agora:</p>
<p>SELECT currval(&#8216;sq_teste_autoIncrement&#8217;) AS valorAutoIncrement;</p>
<table style="text-align:left;width:129px;height:58px;" border="1" cellspacing="2" cellpadding="2">
<tbody>
<tr>
<td>valorAutoIncrement</td>
</tr>
<tr>
<td>3</td>
</tr>
</tbody>
</table>
<p>Obviamente, ao executar outro INSERT o campo idTeste será preenchido com 3, concorda?</p>
<p>Mas, se executar um INSERT assim:</p>
<p>INSERT INTO teste(idTeste, nome) values(5, &#8216;QUINTA LINHA&#8217;);</p>
<table style="text-align:left;width:313px;height:85px;" border="1" cellspacing="2" cellpadding="2">
<tbody>
<tr>
<td>idTeste</td>
<td>nome</td>
</tr>
<tr>
<td>1</td>
<td>PRIMEIRA LINHA</td>
</tr>
<tr>
<td>2</td>
<td>SEGUNDA LINHA</td>
</tr>
<tr>
<td>5</td>
<td>QUINTA LINHA</td>
</tr>
</tbody>
</table>
<p>SELECT currval(&#8216;sq_teste_autoIncrement&#8217;) AS valorAutoIncrement;</p>
<table style="text-align:left;width:117px;height:58px;" border="1" cellspacing="2" cellpadding="2">
<tbody>
<tr>
<td>valorAutoIncrement</td>
</tr>
<tr>
<td>3</td>
</tr>
</tbody>
</table>
<p>O que acontece é que a sequencia só incrementa caso seja necessário um valor DEFAULT para o campo, ou seja, apenas quando o campo não for definido em um INSERT.</p>
<p>Como o valor da SEQUENCE é &#8220;3&#8243;, no próximo segundo INSERT no PostGreSQL poderá acontecer o seguinte:</p>
<p>INSERT INTO teste(nome) values(&#8216;QUARTA LINHA&#8217;);<br />
INSERT INTO teste(nome) values(&#8216;QUINTA LINHA DUPLICADA&#8217;);</p>
<table style="text-align:left;width:335px;height:212px;" border="1" cellspacing="2" cellpadding="2">
<tbody>
<tr>
<td>idTeste</td>
<td>nome</td>
</tr>
<tr>
<td>1</td>
<td>PRIMEIRA LINHA</td>
</tr>
<tr>
<td>2</td>
<td>SEGUNDA LINHA</td>
</tr>
<tr>
<td>3</td>
<td>TERCEIRA LINHA</td>
</tr>
<tr>
<td>5</td>
<td>QUINTA LINHA</td>
</tr>
<tr>
<td>4</td>
<td>QUARTA LINHA</td>
</tr>
<tr>
<td>5</td>
<td>QUINTA LINHA DUPLICADA</td>
</tr>
</tbody>
</table>
<p>No MySQL, o valor do AUTO INCREMENT nunca possui um valor menor do que MAX(nomeCampo) + 1 do campo em que está sendo usado, evitando esse problema.</p>
<p>Imagine o erro de &#8220;duplicar valor da chave viola a restrição de unicidade&#8221; caso idTeste fosse chave primária! Entao cuidado&#8230;</p>
<p>Um abraço.</p>
<p>Espero ter ajudado!</p>
<br />Publicado em Postgres, Tutorial  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/joaonetognu.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/joaonetognu.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/joaonetognu.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/joaonetognu.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/joaonetognu.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/joaonetognu.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/joaonetognu.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/joaonetognu.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/joaonetognu.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/joaonetognu.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/joaonetognu.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/joaonetognu.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/joaonetognu.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/joaonetognu.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaonetognu.wordpress.com&amp;blog=4509836&amp;post=27&amp;subd=joaonetognu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://joaonetognu.wordpress.com/2008/09/21/auto-increment-para-postgresql/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a0b61880e852732833ff1b190a97b5f3?s=96&#38;d=identicon" medium="image">
			<media:title type="html">joaonetognu</media:title>
		</media:content>
	</item>
		<item>
		<title>Revista Fedora Brasil</title>
		<link>http://joaonetognu.wordpress.com/2008/08/31/revista-fedora-brasil/</link>
		<comments>http://joaonetognu.wordpress.com/2008/08/31/revista-fedora-brasil/#comments</comments>
		<pubDate>Sun, 31 Aug 2008 22:43:42 +0000</pubDate>
		<dc:creator>João</dc:creator>
				<category><![CDATA[noticia]]></category>
		<category><![CDATA[fedora]]></category>

		<guid isPermaLink="false">http://joaonetognu.wordpress.com/?p=14</guid>
		<description><![CDATA[A equipe Fedora Brasil lançou nesta terça (26/08), a terceira edição da revista online Fedora Brasil. Uma revista inovadora, que traz as últimas notícias sobre Linux, software livre e as novidades do projeto Fedora no Brasil. Acompanhar os lançamentos bimestrais da revista Fedora Brasil sempre é uma tarefa empolgante! A cada edição da revista dá [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaonetognu.wordpress.com&amp;blog=4509836&amp;post=14&amp;subd=joaonetognu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>A equipe Fedora Brasil lançou nesta terça (26/08), a terceira edição da revista online Fedora Brasil.<br />
Uma revista inovadora, que traz as últimas notícias sobre Linux, software livre e as novidades do projeto Fedora no Brasil.</h2>
<p>Acompanhar os lançamentos bimestrais da revista Fedora Brasil sempre é uma tarefa empolgante!<br />
A cada edição da revista dá para conhecer mais sobre Linux, a comunidade Fedora e  Software livre!</p>
<p>Paul Frields &#8211; Lider do projeto Fedora &#8211; escreveu o editorial &#8220;Fazer a coisa certa&#8221; falando sobre como o software livre nos possibilita a &#8220;fazer a coisa certa&#8221; e não optar pela pirataria. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>A revista também traz um tutorial sobre GIMP e Audacity, a continuação da Série Introdução a Shell Script, fala de segurança com OpenVPN e o uso de portKnocking, fala sobre o clássico jogo FreeDoom, traz uma matéria sobre o formato de multimídia Ogg Vorbis e um artigo sobre o Music Player Amarok.</p>
<dl class="wp-caption aligncenter">
<dt class="wp-caption-dt"><a href="http://joaonetognu.files.wordpress.com/2008/08/captura_da_tela.png"><img class="size-medium wp-image-21" src="http://joaonetognu.files.wordpress.com/2008/08/captura_da_tela.png?w=195&#038;h=300" alt="Revista Fedora" width="195" height="300" /></a></dt>
<address><em>Revista Fedora Br &#8211; Capa</em></address>
</dl>
<p>A revista Fedora Brasil é uma boa fonte para conhecer o Projeto Fedora aqui no Brasil e está disponível para download no site do Projeto:<br />
<a title="aqui" href="http://projetofedora.org/Revista">http://projetofedora.org/Revista</a></p>
<p>&#8212;&#8212;<span style="color:#999999;"><em><br />
E faça como eu participando da promoção Fedora e Mozilla: Escrevendo um artigo em sua página e concorrendo a um Kit da Mozilla!</em></span></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/joaonetognu.wordpress.com/14/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/joaonetognu.wordpress.com/14/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/joaonetognu.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/joaonetognu.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/joaonetognu.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/joaonetognu.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/joaonetognu.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/joaonetognu.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/joaonetognu.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/joaonetognu.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/joaonetognu.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/joaonetognu.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/joaonetognu.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/joaonetognu.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/joaonetognu.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/joaonetognu.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaonetognu.wordpress.com&amp;blog=4509836&amp;post=14&amp;subd=joaonetognu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://joaonetognu.wordpress.com/2008/08/31/revista-fedora-brasil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a0b61880e852732833ff1b190a97b5f3?s=96&#38;d=identicon" medium="image">
			<media:title type="html">joaonetognu</media:title>
		</media:content>

		<media:content url="http://joaonetognu.files.wordpress.com/2008/08/captura_da_tela.png?w=195" medium="image">
			<media:title type="html">Revista Fedora</media:title>
		</media:content>
	</item>
		<item>
		<title>Eclipse Ganymede &#8211; Web, Xdebug, Php e SVN Parte II</title>
		<link>http://joaonetognu.wordpress.com/2008/08/15/eclipse-ganymede-web-xdebug-php-e-svn-parte-ii/</link>
		<comments>http://joaonetognu.wordpress.com/2008/08/15/eclipse-ganymede-web-xdebug-php-e-svn-parte-ii/#comments</comments>
		<pubDate>Fri, 15 Aug 2008 22:32:22 +0000</pubDate>
		<dc:creator>João</dc:creator>
				<category><![CDATA[Programação]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Ganymede]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[XDebug]]></category>

		<guid isPermaLink="false">http://joaonetognu.wordpress.com/?p=6</guid>
		<description><![CDATA[Obtendo o Xdebug: Linux: Deb: apt-get install php5-xdebug Outras distros: use o utilitário pecl: pecl install xdebug Windows: Obenha o arquivo php_xdebug.dll no site do XDebug. Salve o arquivo no diretório ext da sua instalação do PHP Edite o arquivo &#8220;php.ini&#8221; e adicione esse parâmetro: Para Linux: zend_extension=&#8221;/usr/lib/php5/xdebug.so&#8221; *Se ainda não existir Para windows: zend_extension_ts=&#8221;c:/local/da/instalacao/php/ext/php_xdebug.dll&#8221; Para [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaonetognu.wordpress.com&amp;blog=4509836&amp;post=6&amp;subd=joaonetognu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Obtendo o Xdebug:<br />
Linux:<br />
Deb: <span style="font-weight:bold;">apt-get install php5-xdebug</span><br />
Outras distros: use o utilitário pecl: <span style="font-weight:bold;">pecl install xdebug</span></p>
<p>Windows:<br />
Obenha o arquivo php_xdebug.dll no site do XDebug.<br />
Salve o arquivo no diretório ext da sua instalação do PHP</p>
<p>Edite o arquivo &#8220;php.ini&#8221; e adicione esse parâmetro:<br />
Para Linux:<br />
zend_extension=&#8221;/usr/lib/php5/xdebug.so&#8221; *Se ainda não existir</p>
<p>Para windows:<br />
zend_extension_ts=&#8221;c:/local/da/instalacao/php/ext/php_xdebug.dll&#8221;</p>
<p>Para habilitar recursos de Break Points, Checagem de variáveis é preciso algumas configurações no Xdebug,<br />
adicione no arquivo &#8220;php.ini&#8221; o seguinte:</p>
<p><span style="font-style:italic;">xdebug.remote_enable=1</span><br />
<span style="font-style:italic;">xdebug.remote_handler=dbgp</span><br />
<span style="font-style:italic;">xdebug.remote_mode=req</span><br />
<span style="font-style:italic;">xdebug.remote_host=localhost</span><br />
<span style="font-style:italic;">xdebug.remote_port=9100</span><br />
<span style="font-style:italic;">xdebug.extended_info=1</span></p>
<p>Essa configuração habilita os recursos de Debugger para qualquer IDE com suporte a Xdebug, no nosso caso,<br />
usaremos o Eclipse IDE.</p>
<p>Para configurar o Eclipse 3.4 faça:</p>
<p>Vá no menu Window ( Alt + W ) &#8211;&gt; Preferences<br />
<img src="http://img110.imageshack.us/img110/7230/foto4uj9.png" alt="" /><br />
No SubMenu &#8220;PHP&#8221; &#8211;&gt; PHP Executables.<br />
Adicione o executável PHP que preferir, ex: &#8220;/usr/bin/php5&#8243; ou &#8220;c:/Xampp/php/bin/php5&#8243;<br />
Configure como Debugger padrão o Xdebug.</p>
<p>Agora no SubMenu &#8220;General&#8221; &#8211;&gt; Web Browser<br />
<img src="http://img84.imageshack.us/img84/6731/foto5yg0.png" alt="" /><br />
Marque &#8220;Use external web browser&#8221; e Adicione o Navegador de sua preferência.</p>
<p>Agora configure o Xdebug:<br />
No SubMenu &#8220;PHP&#8221; &#8211;&gt; Debug &#8211;&gt; instaled Debuggers<br />
<img src="http://img46.imageshack.us/img46/6451/foto6uq6.png" alt="" /><br />
Configure o XDebug, por padrão a única alteração é na porta, que configuramos para 9100.<br />
Aplique as alterações, dê OK.</p>
<p>Por fim, configure um tipo de execução para o Debugger PHP:<br />
No Menu &#8220;Run&#8221; ( Alt + R ) &#8211;&gt; Run Configurations<br />
<img src="http://img153.imageshack.us/img153/4479/foto7nl8.png" alt="" /><br />
Dê um clique com o botão direito do mouse no menu &#8220;Php Web Page&#8221; e clique em &#8220;New&#8230;&#8221;<br />
Configure:<br />
Aba Server:<br />
Server Debugger: &#8220;XDebug&#8221;<br />
PHP Server: &#8220;Default&#8221; (Configurações do Executavel PHP)<br />
File: /seuProjeto/SeuIndex.php ( Index.php do seu projeto )<br />
URL: URL Relativa do servidor Apache.<br />
Aba Common:<br />
Marque em &#8220;Display Favorites menus&#8221; a opção Debug &#8211; apenas para criar um atalho na barra de ferramentas.</p>
<p>Dê Ok e aplique as alterações!</p>
<p>&lt;&lt; <a href="../2008/08/15/eclipse-ganymede-php-parte1">Parte I &#8211; Instalando PHP, Web Tools no Eclipse Ganymede</a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/joaonetognu.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/joaonetognu.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/joaonetognu.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/joaonetognu.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/joaonetognu.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/joaonetognu.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/joaonetognu.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/joaonetognu.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/joaonetognu.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/joaonetognu.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/joaonetognu.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/joaonetognu.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/joaonetognu.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/joaonetognu.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/joaonetognu.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/joaonetognu.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaonetognu.wordpress.com&amp;blog=4509836&amp;post=6&amp;subd=joaonetognu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://joaonetognu.wordpress.com/2008/08/15/eclipse-ganymede-web-xdebug-php-e-svn-parte-ii/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a0b61880e852732833ff1b190a97b5f3?s=96&#38;d=identicon" medium="image">
			<media:title type="html">joaonetognu</media:title>
		</media:content>

		<media:content url="http://img110.imageshack.us/img110/7230/foto4uj9.png" medium="image" />

		<media:content url="http://img84.imageshack.us/img84/6731/foto5yg0.png" medium="image" />

		<media:content url="http://img46.imageshack.us/img46/6451/foto6uq6.png" medium="image" />

		<media:content url="http://img153.imageshack.us/img153/4479/foto7nl8.png" medium="image" />
	</item>
		<item>
		<title>Eclipse Ganymede &#8211; Web, Xdebug, Php e SVN Parte I</title>
		<link>http://joaonetognu.wordpress.com/2008/08/15/eclipse-ganymede-php-parte1/</link>
		<comments>http://joaonetognu.wordpress.com/2008/08/15/eclipse-ganymede-php-parte1/#comments</comments>
		<pubDate>Fri, 15 Aug 2008 22:32:06 +0000</pubDate>
		<dc:creator>João</dc:creator>
				<category><![CDATA[Programação]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Ganymede]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[XDebug]]></category>

		<guid isPermaLink="false">http://joaonetognu.wordpress.com/?p=3</guid>
		<description><![CDATA[Olá! Minhas primeiras experiências com o Eclipse Ganymede foram bem proveitosas, essa IDE mostra-se a cada versão mais robusta e completa&#8230;. Aqui veremos como configurar o Eclipse para o Desenvolvimento Web com PHP e SubVersioN. O Editor de PHP é o Eclipse PDT, na versao 2.0 que traz muitas novidades e um Code Completion bem [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaonetognu.wordpress.com&amp;blog=4509836&amp;post=3&amp;subd=joaonetognu&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Olá!</p>
<p>Minhas primeiras experiências com o Eclipse Ganymede foram bem proveitosas, essa IDE mostra-se a cada versão mais robusta e completa&#8230;.</p>
<p>Aqui veremos como configurar o Eclipse para o Desenvolvimento Web com PHP e SubVersioN.</p>
<p>O Editor de PHP é o Eclipse PDT, na versao 2.0 que traz muitas novidades e um Code Completion bem melhor que nas versões anteriores.</p>
<p>Bem, Depois do Download do Eclipse 3.4 SDK você vai precisar dos seguintes plugins para o desenvolvimento web funcionar corretamente:</p>
<ul>
<li>dltk &#8211; All in One
<ul>
<li><a href="http://download.eclipse.org/technology/dltk/downloads/drops/R1.0/I-I200808131036-200808131036/dltk-I-I200808131036-200808131036-incubation.zip">[link]</a> 14Mb</li>
</ul>
</li>
<li>dtp_1.6.0
<ul>
<li><a href="http://www.eclipse.org/downloads/download.php?file=/datatools/downloads/1.6/dtp_1.6.0.zip">[link]</a> 10Mb</li>
</ul>
</li>
<li>emf-runtime-2.4.0
<ul>
<li><a href="http://www.eclipse.org/downloads/download.php?file=/modeling/emf/emf/downloads/drops/2.4.0/R200806091234/emf-runtime-2.4.0.zip">[link]</a> 4.4Mb</li>
</ul>
</li>
<li>GEF-ALL-3.4.0
<ul>
<li><a href="http://www.eclipse.org/downloads/download.php?file=/tools/gef/downloads/drops/3.4.0/R200806091334/GEF-ALL-3.4.0.zip">[link]</a> 7.8Mb</li>
</ul>
</li>
<li>RSE-runtime-core-3.0
<ul>
<li><a href="http://www.eclipse.org/downloads/download.php?file=/dsdp/tm/downloads/drops/R-3.0-200806202130/RSE-runtime-core-3.0.zip">[link]</a> 3.1 Mb</li>
</ul>
</li>
<li>wtp ( Ferramentas Web &#8211; Editor HTML, CSS )
<ul>
<li>XSD-Runtime (dependencia)</li>
</ul>
<ul>
<li>
<ul>
<li><a href="http://www.eclipse.org/downloads/download.php?file=/modeling/emf/emf/downloads/drops/2.4.0/R200806091234/xsd-runtime-2.4.0.zip">[link]</a></li>
</ul>
</li>
<li><a href="http://www.eclipse.org/downloads/download.php?file=/webtools/downloads/drops/R3.0/R-3.0-20080616152118/wtp-R-3.0-20080616152118a.zip">[link]</a> 59Mb</li>
</ul>
</li>
</ul>
<ul>
<li><span style="font-weight:bold;">SVN -&gt; Subversive-connectors</span>
<ul>
<li>Requerido &#8211; Conector*: <span style="font-style:italic;">http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/</span></li>
</ul>
<ul>
<li>Site*: <span style="font-style:italic;">http://download.eclipse.org/technology/subversive/0.7/update-site/</span></li>
</ul>
</li>
<li>org.eclipse.php_feature
<ul>
<li><a href="http://www.eclipse.org/downloads/download.php?file=/tools/pdt/downloads/drops/I20080722/org.eclipse.php_feature-I20080722.zip">[link]</a></li>
</ul>
</li>
</ul>
<p>*: Adicione a URL direto no Eclipse.</p>
<p>Descompacte os arquivos .zip.</p>
<p>Agora no seu Eclipse Ganymed:</p>
<p>No menu Help ( Alt + H ) -&gt; Softwares Updates<br />
<img style="width:320px;height:239px;" src="http://img127.imageshack.us/img127/3976/foto1pg4.png" alt="" /><br />
Clique em &#8220;Manage Sites&#8221;<br />
<img style="width:320px;height:127px;" src="http://img356.imageshack.us/img356/4286/foto2ik1.png" alt="" /><br />
Adicione em &#8220;Local&#8230;&#8221; o endereço de um dos plugins que você baixou.<br />
Clique em Ok e repita a Operação para todos os outros Plugins. No caso do SVN, você deve digitar o link no formulario &#8220;Location:&#8221;.</p>
<p>Voltando a Janela de Softwares Updates, Clique em &#8220;Manage Sites&#8221;<br />
<img src="http://img125.imageshack.us/img125/5828/foto3gy4.png" alt="" /><br />
Marque todos os ítens que inserimos.<br />
dê &#8220;Ok&#8221;.</p>
<p>Voltando a tela de &#8220;Software Updates&#8221; marque os plugins que deseja instalar.</p>
<p>&gt;&gt; <a href="../2008/08/15/eclipse-ganymed-php-parte2eclipse-ganymed-php-parte2/">Parte II &#8211; Integrando XDebug ao Eclipse Ganymed</a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/joaonetognu.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/joaonetognu.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/joaonetognu.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/joaonetognu.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/joaonetognu.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/joaonetognu.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/joaonetognu.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/joaonetognu.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/joaonetognu.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/joaonetognu.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/joaonetognu.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/joaonetognu.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/joaonetognu.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/joaonetognu.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/joaonetognu.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/joaonetognu.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaonetognu.wordpress.com&amp;blog=4509836&amp;post=3&amp;subd=joaonetognu&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://joaonetognu.wordpress.com/2008/08/15/eclipse-ganymede-php-parte1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a0b61880e852732833ff1b190a97b5f3?s=96&#38;d=identicon" medium="image">
			<media:title type="html">joaonetognu</media:title>
		</media:content>

		<media:content url="http://img127.imageshack.us/img127/3976/foto1pg4.png" medium="image" />

		<media:content url="http://img356.imageshack.us/img356/4286/foto2ik1.png" medium="image" />

		<media:content url="http://img125.imageshack.us/img125/5828/foto3gy4.png" medium="image" />
	</item>
	</channel>
</rss>
