Ha szeretnénk elkerülni az include, include_once, require, require_once használatát, akkor automatikus betöltőre van szükségünk. Elég, ha a névterekkel megmondjuk mit szeretnénk használni.
Legyen a következő könyvtárszerkezet:
app01/ `-src/ |-Munka/ | `-Dolgozo.php |-index.php `-munka.php
A munka.php fájlban szeretném használni a Dolgozo.php-ban található Dolgozo osztályt.
Az index.php fájlban létrehozzuk az automatikus betöltőt:
<?php spl_autoload_register(function ($class) { include __DIR__ ."/". str_replace('\\', '/', $class) . '.php'; }); include_once('munka.php');
A munka.php-ban nincs névtér, ezt betöltjük az include_once() függvénnyel.
A munka.php fájlban már csak a use parancsot használjuk:
<?php use Munka\Dolgozo; $mari = new Dolgozo(); echo $mari->nev;
<?php namespace Munka; class Dolgozo{ public $nev; public function __construct() { $this->nev = 'névtelen'; } }