Função Include e Require
Como o PHP é uma linguagem de programação multinível ele trás uma ferramenta para agregar blocos de programação, ou seja, você pode criar blocos independentes ou inter-dependentes e agregá-los ao lay-out.
estas duas funções fazem exatamentte isso, include e require.
O include apenas inclui o bloco ou página e caso o bloco não exista não háverá problemas, já o require, como o nome diz, exige que o bloco exista, caso contrário o php não exibe a página ou sub-nível onde o require foi setado.
você pode utilizar o include setando exatamente o nome da página.php ou através de uma variável, dessa forma:
Exemplo com a página definida:
<?php include ("config.php");?>
Exemplo com página definida em uma variável:
<?
$page="config";
php include ($page.".php")?>
Pode também incluir um bloco a partir de uma condicional:
<?php if(isset($page)) { include ($page.".php");} else{ include ("current.php"); } ?>
Porém, nesse caso um usuário mau-intencionado pode encontrar uma forma de mudar o valor de $page para incluir um pacote de scrips que podem por exemplo permití-lo assumir o controle do seu site:
$page = 'http://www.badboysite.com/controll.php';
Então é uma boa idédia é declarar o nome das páginas, assim por exemplo:
switch ($page){
case 'pagina1':
include ('pagina1.htm');
break;
case 'página2':
include ('pagina2.htm');
break;
default:
include ('pagina10.htm');
break;
}
O require tem a mesma forma de declaração.
Quando trabalhamos com programação em módulos, podemos nos deparar em situações onde declaramos um bloco em lugares diferentes e por motivos diferentes, e que de repente eles se chocam em algum ponto da interface gerando erros de declarações duplicadas, uma solução para isso sería criar outro sub-bloco específico para este ponto da interface, mas isso duplicaria o trabalho, aumentaria o tamanho do site desnecessáriamente e prejudicaria a organização, podemos então setar o require como 'once', ou seja, caso já tenha sido declarado o php desconsidera o comando, dessa forma:
<?php require_once ("config.php");?>
Abraço,
Flavio Ribeiro
www.spyderit.com.br
- Comentar
- 1055 leituras
