CodeIgniter :: Múltiplas aplicações em uma única instalação

Hoje vamos ver como trabalhar com múltiplas aplicações utilizando apenas uma instalação do CodeIgniter. Um exemplo de múltiplas aplicações seria um site com gerenciador de conteúdo, onde você tem a estrutura de arquivos do site e do gerenciador.

Por | @jonathanlamimkt Programação
<p>Hoje vamos ver como trabalhar com m&uacute;ltiplas aplica&ccedil;&otilde;es utilizando apenas uma instala&ccedil;&atilde;o do CodeIgniter. Um exemplo de m&uacute;ltiplas aplica&ccedil;&otilde;es seria um site com gerenciador de conte&uacute;do, onde voc&ecirc; tem a estrutura de arquivos do site e do gerenciador.</p> <p>Um c&oacute;digo bem organizado facilita o trabalho de qualquer programador, e quando se est&aacute; trabalhando em equipe, onde os desenvolvedores frontend n&atilde;o t&ecirc;m acesso aos c&oacute;digos do backend, essa organiza&ccedil;&atilde;o de c&oacute;digo que vou apresentar vai permitir que o acesso aos diret&oacute;rios seja dado de forma a evitar que um altere o arquivos do outro.</p> <p>Antes de mostrar a estrutura, vamos ver a estrutura padr&atilde;o do Codeigniter:</p> <ul> <li>application <ul> <li>arquivos da aplica&ccedil;&atilde;o</li> </ul> </li> <li>system <ul> <li>arquivos do sistema e core</li> </ul> </li> <li>index.php</li> </ul> <p>Veja a seguir a estrutura para trabalhar com m&uacute;ltiplas aplica&ccedil;&otilde;es, mantendo o conceito de MVC do CodeIgniter:</p> <ul> <li>application <ul> <li>frontend <ul> <li>arquivos do frontend</li> </ul> </li> <li>backend <ul> <li>arquivos do backend</li> </ul> </li> </ul> </li> <li>backend <ul> <li>.htaccess</li> <li>index.php</li> </ul> </li> <li>system <ul> <li>arquivos do sistema e core</li> </ul> </li> <li>.htaccess</li> <li>index.php</li> </ul> <p>A diferen&ccedil;a entre as estruturas est&aacute; na cria&ccedil;&atilde;o dos diret&oacute;rios de cada aplica&ccedil;&atilde;o dentro da pasta application, e de um diret&oacute;rio para as aplica&ccedil;&otilde;es que n&atilde;o ser&atilde;o exibidas por default, como o site por exemplo.</p> <p>Vamos entender o que cada pasta representa e qual o seu conte&uacute;do, para em seguida vermos como configurar os arquivos e acessos &agrave;s aplica&ccedil;&otilde;es.</p> <p>Dentro de application temos as pastas backend e frontend, que v&atilde;o conter os arquivos do gerenciador de conte&uacute;do e do site, respectivamente. Dentro de cada uma dessas pastas estar&atilde;o os diret&oacute;rios que na instala&ccedil;&atilde;o padr&atilde;o do CodeIgniter v&ecirc;m dentro da pasta application.&nbsp;</p> <p>Na pasta backend que est&aacute; na ra&iacute;z, v&atilde;o estar os arquivos index.php e .htaccess. O arquivo index.php &eacute; uma c&oacute;pia do arquivo index.php da raiz, apenas alterando as vari&aacute;veis $application_folder e $system_path conforme abaixo, para que ao acessar o dominio www.nome-do-site.com.br/backend seja exibido o conte&uacute;do do backend.</p> <p><code><?<br />$system_path = '../system';<br />$application_folder = 'application/backend';<br />?> </code><br />O arquivo .htaccess vai conter a estrutura a seguir, para que o conte&uacute;do seja exibido corretamente.<br /><br /><code>RewriteEngine On<br />RewriteCond %{REQUEST_FILENAME} !-f<br />RewriteCond %{REQUEST_FILENAME} !-d<br /><br />RewriteRule ^/(.*)$ index.php/$1 [L]<br /><br />RewriteCond %{REQUEST_FILENAME} !-f<br />RewriteCond %{REQUEST_FILENAME} !-d<br />RewriteRule ^(.*)$ index.php/$1 [L]<br /><br />ErrorDocument 404 /index.php</code><br />Os arquivos index.php e .htaccess da raiz tamb&eacute;m v&atilde;o precisar ser alterados. No index.php voc&ecirc; ir&aacute; alterar o valor da vari&aacute;vel $application_folder, conforme a linha seguir:</p> <p><code>$application_folder = 'application/frontend';</code></p> <p>O arquivo .htacces ficar&aacute; da seguinte forma:</p> <p><code>RewriteEngine on<br /><br />RewriteCond %{REQUEST_FILENAME} !-f<br />RewriteCond %{REQUEST_FILENAME} !-d<br />RewriteRule ^(.*)$ /index.php?/$1 [L]</code><em><strong></strong></em></p> <p style="padding-left: 30px;"><em><strong>Observa&ccedil;&atilde;o importante</strong></em></p> <p style="padding-left: 30px;"><em>A escrita dos arquitos .htaccess passadas s&atilde;o as b&aacute;sicas, caso sua aplica&ccedil;&atilde;o precisa de outras configura&ccedil;&otilde;es nesse arquivo, pesquise a documenta&ccedil;&atilde;o do Apache sobre elas.</em></p> <p>Com essa altera&ccedil;&atilde;o na estrutura voc&ecirc; ter&aacute; duas aplica&ccedil;&otilde;es rodando em uma &uacute;nica instala&ccedil;&atilde;o do CodeIgniter. Se quiser mais aplica&ccedil;&otilde;es, basta criar novos diret&oacute;rios dentro de applications e criar o diret&oacute;rio correspondente na raiz.</p> <p>Voc&ecirc; pode fazer o download do pacote de instala&ccedil;&atilde;o atrav&eacute;s do reposit&oacute;rio, <a href="http://cimultiapp.sourceforge.net/" target="_blank">clicando aqui</a>.</p> <p>Qualquer d&uacute;vida, postem nos coment&aacute;rios!!!</p>

Mais sobre: codeigniter programacao framework
Share Tweet
Recomendado
Comentários
Carregar comentários
Destaquesver tudo