Ciao a tutti. Una delle cose che mi piace della OOP è l'overload e la ridefinizione delle funzioni di classi che estendono altre etc, insomma, avrete capito di cosa parlo.
Il mio problema è questa meravigliosa funzione __autoload(). A me piacerebbe molto usarla nel modo seguente:
dove ho questi file aggiuntivi chiamati class.A.php e A.subclass.php. Il concetto è definire una __autoload interna ad ogni classe a cui fanno riferimento le chiamare new effettuate dalla classe, ed eventualmente una serie di fallback se la chiamata fallisse (per esempio la classe B estende la classe A e vuole creare un oggetto come definito da A.subclass.php ma la autoload di B non contempla il caso A. e quindi passa il controllo alla autoload della classe genitore estesa che è A e che ha una autoload che sa come gestire questo fatto).Codice PHP:
function __autoload($classname) {
require_once('class.'.$classname.'.php';
}
class A {
public $object;
function __autoload($classname) {
require_once(__CLASS__.'.'.$classname.'.php';
}
function __construct() {
$this->object = new subclass();
}
}
La mia domanda è: si può fare? Perché a me pare di no, ma mi sembra una sciocchezza. Se si può fare, come? La documentazione su autoload mi sembra così scarsa...