Raga è normale che con questo codice riscontro le seguenti anomalie:
l'output è:Codice PHP:
class A
{
public static function func1()
{
print $this->func2() . "
";
print self::func2() . "
";
print A::func2() . "
";
}
public function func2()
{
return "func2";
}
}
print A::func1();
Fino al primo "fatal error" tutto ok, sto cercando di utilizzare $this all'interno di un contesto statico dove oltretutto la classe A non è stata istanziata.Fatal error: Using $this when not in object context
func2
func2
Ma le altre due chiamate di "func2()" funzionano perfettamente....come mai? Io sto richiamando da una funzione statica, senza istanziare l'oggetto, una funzione non statica (che quindi non dovrebbe essere raggiungibile)...ed il tutto senza errori?!?
Cosa mi sfugge? Come gestisce PHP queste situazioni?
La mia versione di PHP è la 5.2.6