<?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>Flávio Silveira &#187; multiple site</title>
	<atom:link href="http://flaviosilveira.com/tag/multiple-site/feed/" rel="self" type="application/rss+xml" />
	<link>http://flaviosilveira.com</link>
	<description>Análise e Desenvolvimento web</description>
	<lastBuildDate>Mon, 06 Feb 2012 09:00:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Múltiplos sites com CodeIgniter</title>
		<link>http://flaviosilveira.com/2008/alterando-configuracao-do-codeigniter/</link>
		<comments>http://flaviosilveira.com/2008/alterando-configuracao-do-codeigniter/#comments</comments>
		<pubDate>Sat, 20 Dec 2008 00:08:35 +0000</pubDate>
		<dc:creator>flaviosilveira</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[framework php]]></category>
		<category><![CDATA[multiple site]]></category>

		<guid isPermaLink="false">http://www.flaviosilveira.com/?p=6</guid>
		<description><![CDATA[Entrei em uma empresa recentemente, e acredito que conquistei a vaga por já ter trabalhado com CodeIgniter antes. Pra quem não sabe o CodeIgniter é um framework PHP com estrutura em MVC, o que deixa tudo mais organizado. E foi a ferramenta escolhida pela empresa para organizar os seus bagunçados projetos. Apesar de já ter [...]]]></description>
			<content:encoded><![CDATA[<p>Entrei em uma empresa recentemente, e acredito que conquistei a vaga por já ter trabalhado com CodeIgniter antes. Pra quem não sabe o <a href="http://codeigniter.com/">CodeIgniter</a> é um framework PHP com estrutura em <a href="http://pt.wikipedia.org/wiki/MVC">MVC</a>, o que deixa tudo mais organizado. E foi a ferramenta escolhida pela empresa para organizar os seus bagunçados projetos.</p>
<p>Apesar de já ter trabalhado com CodeIgniter antes, nunca havia me envolvido tanto, entrado em suas configurações principais e etc. Me limitava ao superficial para fazer funcionar. Controler, consulta no banco pelo Model, chama a view para mostrar o conteúdo e fechou. No máximo chamar uma library.</p>
<p>Porém pediram para mim e meu amigo <a href="http://twitter.com/RonieNeubauer">Ronie</a>, que já tinhamos experiência com a ferramenta, para deixar ela configurada para múltiplos sites. Já tinhamos visto isso antes. Vamos lá! Pesquisar no segundo cérebro (<a href="http://www.google.com">Google</a>)!</p>
<p>Um <a href="http://codeigniter.com/wiki/Multiple_Applications/">Wiki </a>no site oficial propõe duas maneiras para se trabalhar com múltiplos sites em CodeIgniter. A primeira seria criando as pastas principais dos sites dentro de Application (Application é onde fica a estrutura do site). Funciona como se cada pasta dessa, fosse um application. Logo, você deve replicar o conteúdo da pasta application que vem por padrão no CodeIgniter para cada site que for ter, renomeando para um nome de acordo (No exemplo abaixo a pasta site1 e a pasta site2).<br />
<img class="alignnone size-full wp-image-54" title="ci1" src="http://flaviosilveira.com/wp-content/uploads/2009/01/ci1.jpg" alt="ci1" width="148" height="139" /><br />
<br style='clear: both' /></p>
<p><span id="more-6"></span><br />
A segunda forma é bem similar. Você tiraria as pastas principais de dentro do Application, trazendo para a mesma raiz do system(system é onde fica o core do codeigniter).<br />
<img class="alignnone size-full wp-image-55" title="ci2" src="http://flaviosilveira.com/wp-content/uploads/2009/01/ci2.jpg" alt="ci2" width="126" height="119" /><br />
<br style='clear: both' /></p>
<p>Outro passo que a documentação pede, para as duas formas, é replicar o arquivo &#8220;index.php&#8221; (Nos exemplos acima representados por site1.php e site2.php), que vem por padrão na raiz do codeigniter, junto com a pasta system e a pasta application.<br />
Deve se fazer essa réplica, para cada site/pasta principal, e editar a variável $application_folder, que devem conter o caminho para sua respectiva pasta principal. Nos exemplos do Wiki ele renomeia cada index para sua pasta do site, para ter como acessar cada site. que ficaria: <strong><em>http://www.seudominio.com/site1</em></strong> ou <strong><em>http://www.seudominio.com/site2</em></strong></p>
<p>Porém, precisavamos de outra coisa.<br />
Foi pedido que separacemos a pasta dos arquivos css&#8217;s para fora da aplicação do CodeIgniter. Para que apenas o pessoal da programação tivesse acesso a isso. O pessoal do Layout (do CSS) não interferiria na Aplicação.</p>
<p>Depois de algumas idéias, rodando o tal arquivo &#8220;index.php&#8221; veio toda a solução. Simples !</p>
<p>Nesse arquivo é setado o endereço da pasta System, e, como já vimos antes, da pasta Application. Putz.. Ai fica tudo muito fácil.</p>
<p>Jogamos uma pasta system na raiz do servidor, e renomeamos para CI.</p>
<p>Para cada site, fizemos uma pasta principal (para onde o domínio é apontado). Dentro dessa pasta principal colocamos a Réplica do Application, com o nome de &#8220;app&#8221;, Uma pasta &#8220;www&#8221;, para os CSS&#8217;s e Imagens de Layout, e por último uma pasta &#8220;includes&#8221;, para Uploads do usuário como fotos de notícias, PDF&#8217;s e etc. Ficou como tento demonstrar abaixo:</p>
<p><img class="alignnone size-full wp-image-56" title="ci3" src="http://flaviosilveira.com/wp-content/uploads/2009/01/ci3.jpg" alt="ci3" width="169" height="210" /><br />
<br style="clear: both" /></p>
<p>Não queriamos deixar as cópias dos &#8220;index.php&#8221; soltas para fora de tudo, como o Wiki deixa a entender. Colocamos dentro de cada Pasta Principal. O que facilitou no sentido da URL, pois geralmente quando você entra em uma pasta pelo browser, ele procura por um &#8220;index&#8221; não é mesmo ? Então para acessar cada site, é só entrar na pasta principal. Ele pega o index.php, e faz todo o Trabalho <em>Hard Mode.</em><em></em></p>
<p><em></em>Nossa URL então, ficou apenas com o dominio do site<em>, </em>que é apontado para pasta do site. Como cada pasta tem o index, fechou.<em><br />
</em></p>
<p>Na edição dos arquivos &#8220;index.php&#8221;, setamos a variável $system_folder da seguinte maneira:</p>
<pre class="brush: php; title: ;">

$system_folder = &quot;../CI&quot;;
</pre>
<p>Dois pontos para quem não sabe, volta um diretório. e CI, foi o nome que demos para nossa pasta system. Resumindo: <em>Volta um e entra na pasta CI</em></p>
<p>Apontamos a variável $application_folder para nossa réplica da pasta Application, que é a pasta app no exemplo acima.</p>
<pre class="brush: php; title: ;">

$application_folder = &quot;app&quot;;
</pre>
<p>E isso resolve tudo. Ou seja, Podemos fazer a organização do nosso projeto para múltiplos sites como achar melhor. É só editar o cara que manda em tudo, que é o arquivo &#8220;index.php&#8221;, da maneira correta.</p>
<p>Confira um exemplo passo a passo, <a href="http://flaviosilveira.com/2009/multiplos-sites-com-codeigniter-exemplo-pratico/">clicando aqui.</a></p>
<p>Em breve mais posts sobre CodeIgniter. Valeu !!!</p>
]]></content:encoded>
			<wfw:commentRss>http://flaviosilveira.com/2008/alterando-configuracao-do-codeigniter/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>

