Aplicativos em PHP/Trabalhando em PHP com/Includes
Includes
Inclue e avalia o conteúdo do arquivo.
Require
Também inclue e avalia o conteúdo do arquivo incluído.
A diferença entre ambos é que o include ao encontrar um erro, lança um warning apenas, enquanto que o require lança um Fatal Error, que pára o processamento.
Uso do require: para códigos que requerem maior segurança.
Include_Once e Require_Once
São semelhantes ao include e require, sendo que estes incluem um arquivo somente uma vez.
Mostrando uso do require_once:
echo.php
<?php echo "Hello"; ?>
teste.php
<?php require('echo.php'); require_once('echo.php'); ?>
Chamar no navegador o script teste.php
saída: "Hello".
Agora teste2.php:
<?php require('echo.php'); require('echo.php'); ?>
Executar teste2.php
saída: "HelloHello".
Agora teste3.php:
<?php require_once('echo.php'); require('echo.php'); ?>
Executar teste3.php
saída: "HelloHello".
Ou seja, ao encontrar require_once, ele verifica se o arquivo já foi incluído, e somente o incluirá novamente se ele ainda não tiver sido incluído.
<?php // Isto está errado e não funcionará como desejado if ($condition) include $arquivo; else include $outro;
// E este está correto if ($condition) { include $arquivo; } else { include $outro; } ?>
<?php $path="/full/path/to/script/"; if (getdomain($path) == 'yourdomain'){ include($path.'somefile.php'); } ?>
"variables.php"
<?php $includer = basename($_SERVER['SCRIPT_NAME']); switch ($includer) { case 'a.php': $this_variable = 'included by script a.php'; break; case 'b.php': $this_variable = 'included by script b.php'; break; default: $this_variable = 'included by unkown script'; } echo $this_variable; ?>
Test with 3 different files "a.php", "b.php", "c.php", all with the same content:
<?php include 'variables.php'; ?>