Neste post vamos continuar a falar sobre a estrutura dos diretórios, porem vamos pegar a estrutura do CodeIgniter 3, caso não tenha visto de uma olhada no post Iniciando no PHP.
<projeto>/
|__ application/ - Diretório com os arquivos do projeto
|__ system/ - Core do CodeIgniter NÃO ALTERAR NADA AQUI
|__ composer.json - Arquivo com as dependências do composer
|__ contributing.md - Arquivo com informações para contribuir com o projeto (pode apagar)
|__ index.php - Arquivo principal para carregamento do site
|__ license.txt - Arquivo de licença do CodeIgniter
|__ readme.rst - Arquivo com informações do CodeIgniter (pode apagar)
Antes de falor sobre a estrutura, você deve ter notado que escrevi “NÃO ALTERAR NADA AQUI”. É isso mesmo você não deve alterar nada no core de um framework, ou em um diretório vendor, para isso existem outros recursos que podem ser utilizados para extender e mudar a forma com que o core do sistema funciona. Isso faz com seja mais fácil a atualização do core do sistema caso surja uma correção de segurança por exemplo.
Para esta estrutura de diretório você poderia mover o arquivo index.php
para dentro do diretório public_html/
ou htdocs
na sua hospedagem (compartilhada ou não).
Mas não é só jogar estes arquivos para minha hospedagem e pronto ?
Não aconselho isso conforme o post anterior, para evitar os mesmos problemas, por uma falha no servidor. O CodeIgniter permite você configurar ele desta forma.
Movendo o arquivo index.php
para o diretório public_html/
por exemplo, você deve alterar dentro do arquivo index.php
este trecho:
<?php
...
/*
*---------------------------------------------------------------
* SYSTEM DIRECTORY NAME
*---------------------------------------------------------------
*
* This variable must contain the name of your "system" directory.
* Set the path if it is not in the same directory as this file.
*/
$system_path = '../system';
/*
*---------------------------------------------------------------
* APPLICATION DIRECTORY NAME
*---------------------------------------------------------------
*
* If you want this front controller to use a different "application"
* directory than the default one you can set its name here. The directory
* can also be renamed or relocated anywhere on your server. If you do,
* use an absolute (full) server path.
* For more info please see the user guide:
*
* https://codeigniter.com/user_guide/general/managing_apps.html
*
* NO TRAILING SLASH!
*/
$application_folder = '../application';
...
Basta só colocar dois pontos e uma barra no começo do system
e application
e desta forma você já cosegue acessar o website.
No próximo post vou escrever sobre o Laravel 5.6.