需要手動載入類

// 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 語句,這些語句對程式碼來說非常繁瑣。