Recomendamos: Estudar pela apostila de PHP
Incluir arquivos: include
Fizemos alguns scripts com uma ou duas funções, em nossos tutoriais passados.Quando você for montar seu sistema web ou criar um jogo, por exemplo, vai facilmente criar dezenas ou centenas de funções.
Imagine só amontoar todas essas funções num bloco <?php ?> ?
Tudo num arquivo .php?
Não dá! Ia ficar muito desorganizado.
Existe então a possibilidade de colocar todas funções em um arquivo separado.
Por exemplo, crie um arquivo chamado "matematica.php"
E insira nele as seguintes funções:
<?php function soma($a, $b) { return $a + $b; } function sub($a, $b) { return $a - $b; } function multiplicacao($a, $b) { return $a * $b; } function divisao($a, $b) { return $a / $b; } ?>Agora na sua home.php faça:
<html> <head> <title>Apostila PHP Progressivo</title> </head> <body> <form action="" method="get"> Numero 1: <input type="number" name="num1" /><br /> Numero 2: <input type="number" name="num2" /><br /> <input type="submit" name="submit" value="Calcular" /> </form> <?php include "matematica.php"; $a = $_GET['num1']; $b = $_GET['num2']; echo "Soma: ".soma($a,$b)."<br />"; echo "Subtracação: ".sub($a,$b)."<br />"; echo "Multiplicação: ".multiplicacao($a,$b)."<br />"; echo "Divisao: ".divisao($a,$b)."<br />"; ?> </body> </html>E veja o resultado! Aparece a soma, subtração, multiplicação e divisão!
Veja como nosso código ficou mais organizado.
Imagine agora que você vai criar um jogo.
Talvez as funções de cenários fiquem melhor no "cenario.php"
Os sons do game devem ficar em "sons.php"
As características dos personagens em "personagens.php"
Isso se o arquivo estiver no mesmo diretório de 'home.php'
Se tiver na pasta 'level2112', você deve dar: include "level2112/level.php"
Você pode incluir inclusive arquivos PHP externos de outros sites.
Include, include_onde e require_once
Imagine que tenhamos o arquivo A.php e nele damos include no B.php e no C.phpNo B.php damos include no C.php
Note que aí teríamos um problema: o C.php foi incluído duas vezes.
Na primeira quando incluímos o B.php (que já inclui o C) e quando o B novamente inclui o C.php
Isso vai gerar uma série de erros, pois vão existir variáveis e funções duplicadas.
Para evitar isso, ao invés de include, use:
include_once
Assim, se tentar incluir um arquivo que já foi incluso, ele será sumariamente desconsiderado.
Mas ainda assim temos um problema.
include e include_once apenas tentam incluir um arquivo, se não conseguem, bola pra frente, o script segue e você pode ter diversos erros achando que incluiu um arquivo quando não foi incluso.
Se for absolutamente imprescindível (geralmente é), não inclusa e sim requeira.
Use: require_once
Para não ter dúvidas, use sempre require_once.