O que é um .inc e por que usá-lo?


139

Muitas vezes vejo exemplos em PHP que incluem arquivos.inc. Qual é o significado de .inc? Para que é utilizado? Quais são as desvantagens e vantagens de usá-lo?

Respostas:


268

Não tem sentido, é apenas uma extensão de arquivo. É convenção de algumas pessoas nomear arquivos com uma extensão .inc se esse arquivo for projetado para ser incluído por outros arquivos PHP, mas é apenas uma convenção.

Ele tem uma possível desvantagem: os servidores normalmente não estão configurados para analisar arquivos .inc como php; portanto, se o arquivo estiver na raiz da web e o servidor estiver configurado da maneira padrão, um usuário poderá visualizar seu código-fonte php em o arquivo .inc visitando o URL diretamente.

Sua única vantagem possível é que é fácil identificar quais arquivos são usados ​​como inclusões. Embora simplesmente dar a eles uma extensão .php e colocá-los em uma pasta include tenha o mesmo efeito, sem a desvantagem mencionada acima.


8
@domanokz Sim, será seguro usá-lo então. Ele será tratado como php somente quando usado em uma estrutura requireou includee tratado como texto sem formatação o resto do tempo. Tratar como texto no seu servidor não prejudicará, só dói quando seu código é veiculado como texto para o usuário final).
Paul

@Paulpro Eu estava pensando nisso há algum tempo, obrigado por deixar isso claro!
RealDeal_EE'18

1
Ótima explicação. Apenas comecei em um novo trabalho e os vi espalhados pelo aplicativo. Eu não tinha ideia de que era puramente uma convenção. Obrigado!
Chev

4
Em relação ao servidor não estar configurado para analisar arquivos.inc como php. Na verdade, ele não precisa ser, pois eles são somente leitura de outros arquivos php em require / include. É seguro? Como Paulpro indica que você não deseja que o usuário final inquisitivo leia o código, você deseja configurar os arquivos para que não sejam recuperáveis ​​pelo usuário final com algo como "RedirectMatch 403 /.*\.inc$" na configuração do Apache. htaccess
ClearCrescendo

Nota: Isto não é apenas para .phpe .inc. O PHP inclui também trabalho com outros tipos de arquivos. Incluir um, '.html', '.js', '.css', '.txt' ou qualquer extensão de arquivo personalizada que você possa imaginar também fará com que o PHP analise a leitura do código PHP a partir dele. Útil quando você deseja criar um banco de dados baseado em arquivo e deseja saber se é um arquivo de banco de dados. gosto .data. Você pode usar o comentário de @ ClearCrescendo acima para protegê-lo.
Jomar Sevillejo

71

Se você está preocupado com o conteúdo do arquivo sendo veiculado, e não com a saída. Você pode usar uma extensão dupla, como: file.inc.php. Em seguida, serve ao mesmo propósito de utilidade e manutenção.

Normalmente, tenho 2 arquivos php para cada página do meu site:

  1. Um nomeado welcome.phpna pasta raiz, contendo toda a marcação HTML.
  2. E outro nomeado welcome.inc.phpna incpasta, contendo todas as funções PHP específicas da welcome.phppágina.

EDIT: Outro benefício do uso da extensão dupla .inc.phpseria que qualquer IDE ainda pode reconhecer o arquivo como código PHP.


4
+1 Vale ressaltar, eu fiz isso em um dos meus projetos.
dpp 23/11

17

Geralmente significa que é um arquivo que precisa ser incluído e não cria um script independente.

Esta é uma convenção, não uma técnica de programação.

Embora o servidor da Web não esteja configurado corretamente, ele poderá expor arquivos com extensões como .inc.


12

É apenas uma maneira de o desenvolvedor poder identificar facilmente os arquivos que devem ser usados ​​como inclusões. É uma convenção popular. Ele não tem nenhum significado especial para o PHP e não altera o comportamento do PHP ou do próprio script.


4

Esta é uma convenção que o programador geralmente usa para identificar nomes de arquivos diferentes para arquivos de inclusão. Para que, se os outros desenvolvedores estiverem trabalhando em seu código, ele possa identificar facilmente por que esse arquivo existe e qual é o objetivo desse arquivo, apenas vendo o nome do arquivo.


3

Apenas para adicionar. Outra desvantagem seria: os arquivos .inc não são reconhecidos pelo IDE, portanto, você não pode tirar proveito dos recursos de conclusão automática ou de previsão de código.


2

Na minha opinião, eles foram usados ​​como uma maneira de encontrar rapidamente arquivos de inclusão durante o desenvolvimento. Realmente, estes foram tornados obsoletos com convenções e projetos de estrutura.


Este é um comentário sem sentido. Eu sempre uso .inc para incluir arquivos porque é fácil e não há negativos e apenas positivos. O termo 'convenções' não tem nenhum referente de que conheço neste contexto. E as estruturas PHP, sem ideia, nunca as tocam, eu escrevo código, então a noção de que 'estruturas' substituíram a codificação PHP está errada. Nada de errado em usar o material, se você gosta, mas acreditar que ele substituiu a programação padrão, nos editores de código, está errado.
Lizardx

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.