Questo question mi ha fatto incuriosire sull'uso di costrutti del linguaggio in combinazione con i metodi magici di PHP. Ho creato un codice demo:PHP Uso dei costrutti del linguaggio in combinazione con i metodi magici
<?php
class Testing {
public function scopeList() {
echo "scopeList";
}
public function __call($method, $parameters) {
if($method == "list") {
$this->scopeList();
}
}
public static function __callStatic($method, $parameters) {
$instance = new static;
call_user_func_array([$instance, $method], $parameters);
}
}
//Testing::list();
$testing = new Testing();
$testing->list();
Perché Testing::list()
gettare un errore di sintassi e non lo fa?
A causa di php reserved keywords entrambi dovrebbero fallire?
Anche se funziona in questo modo: 'Test :: { 'lista'}();' –
Il tutta la questione potrebbe essere ridotta agli ultimi due paragrafi. Non c'è davvero alcun punto nel leggere e comprendere quel campione di codice. – deceze
@deceze forse potrebbe. Ma penso che un esempio abbia senso qui per chiarezza? Volevo mostrare, come funzionano i metodi magici in questo esempio ... –