需要手动加载类

// 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');

这里我们有三个文件。一个文件(“Animal.php”)定义了该类。除了定义类之外,这个文件没有任何副作用,并且在一个地方巧妙地保存了关于动物的所有知识。它很容易受版本控制。它很容易重复使用。

两个文件通过手动传送文件来使用“Animal.php”文件。同样,PHP 从上到下读取源文件,因此需要查找“Animal.php”文件并在调用 new Animal 之前使 Animal 类定义可用。

现在想象我们有几十个或几百个我们想要执行 new Animal 的案例。这将需要(双关语)许多很多 require 语句,这些语句对代码来说非常繁琐。