Vediamo se riesco a costruire un breve esempio per mostrare l'uso della classe SplClassLoader
SplClassLoader.php
Codice PHP:
namespace test\loader;
// incollare la definizione della classe di JWage
a.php
Codice PHP:
namespace test\common;
use PDO;
class a {
private $pdo;
public function __construct( PDO $pdo ) {
$this->pdo = $pdo;
}
public function dump() {
return var_dump( $this->pdo );
}
}
b.php
Codice PHP:
namespace text\common;
class b extends a {
}
htmlWidgetInterface.php
Codice PHP:
namespace test\widget\html;
interface htmlWidgetInterface {
public function render();
}
p.php
Codice PHP:
namespace test\widget\html;
class p implements htmlWidgetInterface {
private $txt;
public function __construct( $txt ) {
$this->txt = $txt;
}
public function render() {
return '<p>' . $this->txt . '</p>';
}
}
queste sono le ipotetiche classi con cui lavorare
vediamo la disposizione delle cartelle e files sul server:
[root]/test/loader/SplClassLoader.php
[root]/test/common/a.php
[root]/test/common/b.php
[root]/test/widget/html/htmlWidgetInterface.php
[root]/test/widget/html/p.php
dovrei avere una base per l'esempio, ora possiamo usare la classe di autoloading senza preoccuparci di scrivere require/include
vedi il prossimo post