クラス

以下の Student クラスは IoCコンテナから登録名 school を利用しています.

class School {
    public $name = '本番小学校';
}

class Student {
    function getSchoolName() {
        $school = App::make('school');
        return $school->name;
    }
}

IoCコンテナに登録する方法

IoCコンテナに school という名前で School クラスのインスタンスを登録します:

App::bind('school', function() {
    return new School;
});

通常時:

App::bind('school', function() {
    return new School;
});

$studentA = new Student;
echo $studentA->getSchoolName(); // 本番小学校

テスト時:

App::bind('school', function() {
    $school = new School;
    $school->name = 'テスト小学校';
    return $school;
});

$studentA = new Student;
echo $studentA->getSchoolName(); // テスト小学校