Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

leandrodma

Codeigniter Gerenciar aplicações

Recommended Posts

Boa Galera,

Seguinte, to tentando fazer uma aplicação no codeigniter2 e segue a bucha:

 

Quero fazer uma aplicação com uma area administrativa, a área do site esta funcionando, quando eu separo as duas na pasta application como abaixo:

 

- Application

- site

- administracao

 

Abaixo como está meu .htaccess

 

Options -Indexes
Options +FollowSymLinks
RewriteEngine On
RewriteBase /sitecomsistema/
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
ErrorDocument 404 /index.php
php_value allow_url_fopen on
php_value allow_url_include 1

 

Galerinha, não to conseguindo fazer as duas aplicações ficarem no mesmo CI. Quero ter um mecanismo mais ou menos assim:

 

http://localhost/teste/ -> o site sera exibido

http://localhost/teste/adminstracao -> area administrativa

 

Já tentei diversar formas de .htaccess e não consegui :(

 

Vlw. Galera.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não precisa dividir em pastas (e nem deve). Você deve utilizar uma route para a área administrativa, mais ou menos assim:

 

application/config/routes.php

$route['admin'] = "admin/index";
$route['admin/clientes'] = "adminClientes/listar";

 

Dê uma olhada nesta página da documentção. Se você ainda não leu TODA a documentação, recomendo que o faça. :)

http://codeigniter.com/user_guide/general/routing.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não precisa dividir em pastas (e nem deve). Você deve utilizar uma route para a área administrativa, mais ou menos assim:

 

O CodeIgniter permite sim a separação de controllers por diretórios, e faz todo sentido separar controllers em diretórios até mesmo para segregar responsabilidades e facilitar o entendimento.

Acho muito complexo gerenciar 30 controllers na mesma pasta (para mim, isto é que não faz sentido), sendo 15 de acesso pública e 15 de acesso administrativo.

Inclusive, é até uma recomendação que está na documentação para aplicações com muitas funcionalidades:

 

Organizing Your Controllers into Sub-folders

 

Além disso, você não precisa ficar configurando rotas.

 

Separando suas controllers em diretórios, você vai atingir o seu objetivo.

Você só precisa configurar mesmo qual é a "controller / method" principal (ou seja, sua rota principal).

 

// manda para área publica por padrão
$route['default_controller'] = 'site/home/index';

 

Assim, se o usuário entrar em (que é o default_controller)

http://www.seudominio.com.br

 

Será a mesma coisa que

http://www.seudominio.com.br/site/home/index

 

Só lembre que depois, todas as suas URI's devem conter o nome do diretório em que está a controller.

 

@braços e fique com Deus!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O CodeIgniter permite sim a separação de controllers por diretórios, e faz todo sentido separar controllers em diretórios até mesmo para segregar responsabilidades e facilitar o entendimento.

Acho muito complexo gerenciar 30 controllers na mesma pasta (para mim, isto é que não faz sentido), sendo 15 de acesso pública e 15 de acesso administrativo.

Inclusive, é até uma recomendação que está na documentação para aplicações com muitas funcionalidades:

 

Organizing Your Controllers into Sub-folders

 

 

Sim, de fato, e é recomendável. Porém o leandrodma colocou isto em seu post:

 

Quero fazer uma aplicação com uma area administrativa, a área do site esta funcionando, quando eu separo as duas na pasta application como abaixo:
- Application
- site
- administracao

 

O que não é exatamente correto, pois a aplicação é a mesma e haveria trabalho extra.

 

PS: gosto de configurar rotas com wildcards porque prefiro usar CamelCase hehehe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.