require / include în PHP

Încarcă și rulează codul dintr-un alt fișier PHP.

Sintaxă
require_once __DIR__ . '/fisier.php';

Ce face require / include

Cu require și include împarți codul în mai multe fișiere: funcții, configurare, antetul și subsolul paginii.

Diferența: dacă fișierul lipsește, require oprește scriptul cu eroare fatală, iar include doar afișează un avertisment și continuă. Variantele require_once și include_once încarcă fișierul o singură dată, chiar dacă sunt apelate de mai multe ori.

Exemple

Exemplul 1: Fișier cu funcții încărcat o singură dată

<?php
file_put_contents(__DIR__ . "/functii.php", '<?php function pret_cu_tva($p) { return $p * 1.21; }');

require_once __DIR__ . "/functii.php";
require_once __DIR__ . "/functii.php";

echo pret_cu_tva(100);

Rezultat

121

Exemplul 2: Fișier de configurare care returnează un tablou

<?php
file_put_contents(__DIR__ . "/config.php", '<?php return ["db_host" => "localhost", "db_name" => "magazin"];');

$config = require __DIR__ . "/config.php";
echo $config["db_name"];

Rezultat

magazin

Greșeli frecvente

  • Folosești require în loc de require_once pentru un fișier cu funcții și primești Cannot redeclare function.
  • Folosești căi relative simple ("config.php"). Ele depind de directorul curent. Folosește __DIR__.

Comenzi înrudite

  • function: Definește o funcție proprie: un bloc de cod cu nume, pe care îl poți apela de oricâte ori.
  • file_get_contents: Citește tot conținutul unui fișier (sau al unei adrese URL) într-un text.