Vou postar algumas dicas para você que esta iniciando no PHP e não sabe exatamente por onde começar.
Primeiramente você deve ler o post PHP do Jeito Certo criado por Josh Lockhart que contém uma referência rápida e fácil de ler, introduzindo você às melhores práticas e ver o Curso de PHP para entender a história e funcionamento da linguagem.
“Bom eu li PHP do Jeito Certo e vi os videos e cursos, já vou criar meu website… mas por onde começar ?”
Ótimo que tenha visto tudo, no entanto, como será sua estrutura de diretórios ? Irá utilizar um framework ? Como vou carregar os arquivos ?
Já trabalhei com o CodeIgniter 2 e 3, Laravel 3, 4 e 5, CakePHP e com a experiência e busca na comunidade de desenvolvimento percebi que quando não queremos utilizar um framework que já possui uma estrutura pronta nos deparamos com a dificuldade de organizar os arquivos. Então vou mostrar abaixo a estrutura que costumo utilizar para iniciar um projeto, você pode criar a estrutura que achar conveniente para o seu projeto.
<projeto>/
|__ dump/ - Sql do banco
|__ modules/ - Diretório de modulos
|__ public/ - Assets do sistema (public_html ou htdocs nas hospedagens)
| |__ fonts/ - Fonts
| |__ (img|image)/ - Imagens do sistema
| |__ libs/ - Bibliotecas e Plugins utilizados pelo sistema
| |__ (scripts|js)/ - Scripts utilizados pelo sistema
| |__ (styles|css)/ - Estilos do template e sistema
| |__ .htaccess
| |__ index.php - Arquivo principal da aplicação
|
|__ src/ - Diretório source contendo o Core do sistema
|__ storage - Diretório de cache, log e sessão da aplicação
| |__ cache - Cache
| |__ logs - Logs do sistema
| |__ session - Sessão utilizada pela aplicação
|
|__ vendor/ - Dependencias (composer) do sistema
|__ README.md - Informações do projeto
|__ composer.json - Arquivo de configuração do composer
Nesta estrutura você pode notar que existe um diretório public/
, na qual corresponde aos diretórios public_html
ou htdocs
em hospedagens compartilhadas.
Posso jogar tudo no public_html
ou htdocs
?
Não aconselho você fazer isso, pois quando acessamos o domínio caimos diretamente neste diretório, se houver alguma falha no servidor, dependendo do problema é possível efetuar o download dos arquivos presentes nestes diretórios, ficando seu site ainda mais vulnerável.
Em alguns casos o servidor não inicia o modulo do php no apache e acaba exibindo literalmente o conteúdo dos arquivos com extensão .php
. Desta forma se você deixar somente o arquivo index.php
que corresponde ao arquivo principal para carregar o site, você evita que usuários consigam visualizar arquivos de configuração, senhas de banco de dados entre outros dados importantes, pois nestes diretórios irá conter somente arquivos assets.