O código muitas vezes precisa ser chamado em várias páginas. Isto pode ser feito colocando primeiro o código dentro de um arquivo separado e, em seguida, adicionar o arquivo usando o include. Esta função adiciona todo o texto no arquivo especificado, como se o código fosse copiado para esse local. Assim como echo, include é um construtor de linguagem especial e não uma função, por isso, os parênteses não deve ser usado.

<?php
include 'myfile.php';
?>

Qualquer código dentro do arquivo incluído que precisa ser executado como código PHP tem de ser delimitado por tags PHP.

<?php
// myfile.php
?>

incluir caminho

Um arquivo de inclusão pode ser especificado com um caminho relativo, um caminho absoluto ou sem um caminho. O caminho de arquivo relativo será relativo ao diretório do arquivo de importação, e um caminho de arquivo absoluto irá incluir o caminho completo do arquivo.

<?php
// Relative path
include 'myfolder\myfile.php';
// Absolute path
include 'C:\xampp\htdocs\myfile.php';

Quando um caminho relativo ou nenhum caminho for especificado,  o include vai em primeiro lugar procurar o arquivo no diretório de trabalho atual, que tem como padrão o diretório do script de importação. Se o arquivo não for encontrado lá, irá verificar as pastas especificadas pela directiva include_path definido no php.ini antes de falhar.

<?php
// No path
include 'myfile.php';

Além de include existem três outras construções de linguagem disponíveis para importar o conteúdo de um arquivo para outro: require, include_once e require_once.

Require

O construtor require inclui e avalia o arquivo especificado. Ele é idêntico ao incluir, exceto na forma como ele lida com o falhas. Quando uma importação de arquivo falhar o require irá parar o script com um erro, o include apenas irá emitir um aviso(warning). Uma importação pode falhar porque o arquivo não foi encontrado ou porque o usuário que executa o servidor web não têm acesso para ler o arquivo.

<?php
require 'myfile.php'; // parar em caso de erro

Geralmente é melhor usar require para qualquer aplicação complexas em PHP  ou um sites com CMS. Dessa forma, o aplicativo não irá tentar executar no caso de um arquivo importante está em falta. Para segmentos de código menos críticos e sites simples include pode ser suficiente, caso em que o PHP vai continuar e mostrar a saída, mesmo que o arquivo incluído esteja faltando.

Include_once

A declaração include_once se comporta como include, exceto que se o arquivo especificado já foi incluído, ele não será incluído novamente.

<?php
include_once 'myfile.php'; // incluir apenas uma vez

Require_once

A declaração require_once funciona como require, mas não vai importar um arquivo se ele já tiver sido importado antes.

<?php
require_once 'myfile.php'; // requerem apenas uma vez

As demonstrações include_once e require_once pode ser usado em vez de include e require, em casos em que o mesmo arquivo pode ser importado mais de uma vez durante uma determinada execução de um script.

Return

É possível executar uma instrução return dentro de um arquivo importado. Isto irá parar a execução e retornar para o script que chamou a importação de arquivos.

<?php
// myimport.php
return 'OK';
?>

 

Se um valor de retorno é especificado, a declaração de importação avaliará esse valor apenas como uma função normal.

<?php
// myfile.php
if ((include 'myimport.php') == 'OK')
echo 'OK';
?>

Auto load

Para grandes aplicações web o número de include necessários em cada script pode ser substancial. Isto pode ser evitado através da definição de uma função __autoload. Esta função é automaticamente invocado quando uma classe indefinida ou interface é utilizada, a fim de tentar carregar essa definição. É preciso um parâmetro, que é o nome da classe ou interface que o PHP está procurando.

<?php
function __autoload($class_name){
include $class_name . '.php';
}
// Attempt to auto include MyClass.php
$obj = new MyClass();

Uma boa prática de codificação a seguir ao escrever aplicações orientadas a objetos é ter um arquivo de origem de cada definição de classe e nomeie o arquivo de acordo com o nome da classe. Seguindo essa convenção a função __ autoload acima será capaz de carregar a classe, desde que seja na mesma pasta do arquivo de script que precisava.

<?php
// myclass.php
class MyClass {}
?>

Se o arquivo estiver localizado em uma subpasta o nome da classe pode incluir caracteres de sublinhado para simbolizar isso. Os caracteres de sublinhado, então, precisa ser convertido em separadores de diretório na função __ autoload.

Mais Detalhes sobre Autoload

No Manual: http://br1.php.net/manual/pt_BR/function.autoload.php

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.