PHP Chargement manuel des classes avec require


Exemple

// Animal.php
class Animal {
    public function eats($food) {
         echo "Yum, $food!";
    }
}

// zoo.php
require 'Animal.php';
$animal = new Animal;
$animal->eats('slop');

// aquarium.php
require 'Animal.php';
$animal = new Animal;
$animal->eats('shrimp');

Ici nous avons trois fichiers. Un fichier ("Animal.php") définit la classe. Ce fichier n'a pas d'effets secondaires en plus de définir la classe et conserve soigneusement toutes les connaissances sur un "Animal" au même endroit. C'est facilement contrôlé par la version. Il est facilement réutilisable.

Deux fichiers consomment le fichier "Animal.php" en require manuellement le fichier. Là encore, PHP lit les fichiers sources de haut en bas, donc le besoin va et trouve le fichier "Animal.php" et rend la définition de la classe Animal disponible avant d'appeler un new Animal .

Maintenant, imaginez que nous avions des dizaines ou des centaines de cas où nous voulions effectuer un new Animal . Cela nécessiterait (censé être conçu) beaucoup, beaucoup require déclarations très fastidieuses à coder.