Arquivos de inclusão PHP
A instrução include
(ou require
) pega todo o texto/código/marcação que existe no arquivo especificado e o copia no arquivo que usa a instrução include.
A inclusão de arquivos é muito útil quando você deseja incluir o mesmo PHP, HTML ou texto em várias páginas de um site.
PHP inclui e exige instruções
É possível inserir o conteúdo de um arquivo PHP em outro arquivo PHP (antes que o servidor o execute), com a instrução include ou require.
As instruções include e require são idênticas, exceto em caso de falha:
require
produzirá um erro fatal (E_COMPILE_ERROR) e interromperá o scriptinclude
produzirá apenas um aviso (E_WARNING) e o script continuará
Portanto, se você quiser que a execução continue e mostre aos usuários a saída, mesmo que o arquivo de inclusão esteja ausente, use a instrução include. Caso contrário, no caso de FrameWork, CMS ou uma codificação de aplicativo PHP complexa, sempre use a instrução require para incluir um arquivo de chave no fluxo de execução. Isso ajudará a evitar comprometer a segurança e a integridade do seu aplicativo, caso um arquivo de chave esteja acidentalmente ausente.
Incluir arquivos economiza muito trabalho. Isso significa que você pode criar um arquivo de cabeçalho, rodapé ou menu padrão para todas as suas páginas da web. Então, quando o cabeçalho precisar ser atualizado, você só poderá atualizar o arquivo de inclusão do cabeçalho.
Sintaxe
include 'filename';
or
require 'filename';
PHP inclui exemplos
Exemplo 1
Suponha que temos um arquivo de rodapé padrão chamado "footer.php", que se parece com isso:
<?php
echo "<p>Copyright © 1999-" . date("Y") . " W3Schools.com</p>";
?>
Para incluir o arquivo de rodapé em uma página, use a include
instrução:
Exemplo
<html>
<body>
<h1>Welcome to my home page!</h1>
<p>Some text.</p>
<p>Some more text.</p>
<?php include 'footer.php';?>
</body>
</html>
Exemplo 2
Suponha que temos um arquivo de menu padrão chamado "menu.php":
<?php
echo '<a href="/default.asp">Home</a> -
<a href="/html/default.asp">HTML Tutorial</a> -
<a href="/css/default.asp">CSS Tutorial</a> -
<a href="/js/default.asp">JavaScript Tutorial</a> -
<a href="default.asp">PHP Tutorial</a>';
?>
Todas as páginas do site devem usar este arquivo de menu. Aqui está como isso pode ser feito (estamos usando um elemento <div> para que o menu possa ser facilmente estilizado com CSS posteriormente):
Exemplo
<html>
<body>
<div class="menu">
<?php include 'menu.php';?>
</div>
<h1>Welcome to my home page!</h1>
<p>Some text.</p>
<p>Some more text.</p>
</body>
</html>
Exemplo 3
Suponha que temos um arquivo chamado "vars.php", com algumas variáveis definidas:
<?php
$color='red';
$car='BMW';
?>
Então, se incluirmos o arquivo "vars.php", as variáveis podem ser usadas no arquivo de chamada:
Exemplo
<html>
<body>
<h1>Welcome to my home page!</h1>
<?php include 'vars.php';
echo "I have a $color $car.";
?>
</body>
</html>
PHP incluir vs. exigir
A require
instrução também é usada para incluir um arquivo no código PHP.
No entanto, há uma grande diferença entre incluir e exigir; quando um arquivo é incluído com a include
instrução e o PHP não consegue encontrá-lo, o script continuará a ser executado:
Exemplo
<html>
<body>
<h1>Welcome to my home page!</h1>
<?php include 'noFileExists.php';
echo "I have a $color $car.";
?>
</body>
</html>
Se fizermos o mesmo exemplo usando a require
instrução, a instrução echo não será executada porque a execução do script é interrompida após a
require
instrução retornar um erro fatal:
Exemplo
<html>
<body>
<h1>Welcome to my home page!</h1>
<?php require 'noFileExists.php';
echo "I have a $color $car.";
?>
</body>
</html>
Use require
quando o arquivo for exigido pelo aplicativo.
Use include
quando o arquivo não for necessário e o aplicativo deve continuar quando o arquivo não for encontrado.