English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico PHP

Tutorial Avançado PHP

PHP & MySQL

Manual de Referência PHP

include e require (inclusão de arquivos) em PHP

Neste tutorial, você aprenderá como incluir e avaliar arquivos em PHP.

Incluir um arquivo PHP em outro

Os comandos include() e require() permitem incluir o código de um arquivo PHP em outro. Incluir arquivos gera o mesmo resultado que copiar o script de um arquivo específico e colá-lo no local de chamada.

Você pode economizar muito tempo e trabalhar com arquivos incluídos.-Basta armazenar o bloco de código em arquivos separados e usá-los com as instruções include() e require() em qualquer local necessário, sem precisar digitar o bloco inteiro várias vezes. Um exemplo típico é incluir arquivos de cabeçalho, rodapé e menu em todas as páginas do site.

A sintaxe básica das instruções include() e require() pode ser dada da seguinte forma:

include("path/to/filename"); 
ou
include "path/to/filename";
require("path/to/filename"); 
ou
require "path/to/filename";

Dica:Como as instruções print e echo, você pode omitir os parênteses ao usar as instruções include e require, conforme mencionado acima.

A seguir, exemplos mostram como incluir código de cabeçalho, rodapé e menu comuns armazenados em arquivos separados "header.php", "footer.php" e "menu.php" em todas as páginas do site. Com essa técnica, é necessário apenas alterar um arquivo para atualizar imediatamente todas as páginas do site, economizando muita repetição de trabalho.

<!DOCTYPE html>
<html>
<head>
    <title>Tutorial Básico</title>
</head>
<?php include "header.php"; ?>
<?php include "menu.php"; ?>
    <h1>Bem-vindo ao nosso site (pt.oldtoolbag.com)!</h1>
    <p>Aqui, você encontrará muitas informações úteis.</p>
<?php include "footer.php"; ?>
</html>

Diferenças entre include e require

Você pode estar pensando, se podemos usar a instrução include() para incluir arquivos, por que precisamos de require(). Normalmente, a execução da instrução require() é semelhante à da include().

A única diferença é que — a instrução include() gera apenas avisos de PHP, mas permite que o script continue a executar, enquanto a instrução require() gera um erro fatal e para a execução do script .

<?php require "my_variables.php"; ?>
<?php require "my_functions.php"; ?>
<!DOCTYPE html>
<html>
<head>
    <title><?php displayTitle($home_page); ?></title>
</head>
<?php include "header.php"; ?>
<?php include "menu.php"; ?>
    <h1>Bem-vindo ao nosso site (pt.oldtoolbag.com)!</h1>
    <p>Aqui, você encontrará muitas informações úteis.</p>
<?php include "footer.php"; ?>
</html>

Atenção: Se você incluir arquivos de biblioteca ou arquivos que contêm funções e variáveis de configuração necessárias para a execução do aplicativo (comoArquivo de configuração do banco de dados),é recomendável usar a instrução require().

instruções include_once e require_once

Se você acidentalmente usar várias vezes as instruções include ou require para incluir o mesmo arquivo (comumenteFunçãoouClasseArquivo) pode causar conflitos. Para evitar isso, o PHP fornece as instruções include_once e require_once. Essas instruções funcionam da mesma forma que as instruções include e require, com uma exceção:
Mesmo que o arquivo seja incluído novamente, as instruções include_once e require_once incluirão o arquivo apenas uma vez, o que significa que, se o arquivo já foi incluído na instrução anterior, ele não será incluído novamente. Para entender melhor como isso funciona, vamos ver um exemplo. Suponha que tenhamos um arquivo "my_functions.php", cujo código é o seguinte:

<?php
function multiplySelf($var){
    $var *= $var; //Multiplicar o próprio valor da variável
    echo $var;
}
?>

Este é um script PHP que contém o arquivo "my_functions.php".

<?php
//Incluir arquivo
require "my_functions.php";
// Chamar função
multiplySelf(2); // Saída: 4
echo "<br>";
 
//Incluir o arquivo novamente
require "my_functions.php";
// Chamar função
multiplySelf(5); // Não executa
?>

Quando você executar o script acima, você verá uma mensagem de erro semelhante à seguinte:“Erro fatal: Não é possível redeclarar multiplySelf()”A razão pela qual isso acontece é que 'my_functions.php' foi incluído duas vezes, o que significa que a função multiplySelf() foi definida duas vezes, causando o PHP a parar a execução do script e gerar um erro fatal. Agora, reescreva o exemplo acima usando require_once.

<?php
// Incluindo arquivo
require_once "my_functions.php";
// Chamar função
multiplySelf(2); // Saída: 4
echo "<br>";
 
//Incluir o arquivo novamente
require_once "my_functions.php";
// Chamar função
multiplySelf(5); // Saída: 25
?>

Como você vê, ao usar require_once em vez de require, o script funciona conforme esperado.