Próbuję użyć funkcji PHP od wewnątrz funkcji publicznej statycznej jak tak (ja skróconymi rzeczy trochę):nie można uzyskać dostępu do siebie :: gdy nie ma zakres klasa jest aktywny
class MyClass {
public static function first_function() {
function inside_this() {
$some_var = self::second_function(); // doesnt work inside this function
}
// other code here...
} // End first_function
protected static function second_function() {
// do stuff
} // End second_function
} // End class PayPalDimesale
Wtedy otrzymasz komunikat "Nie można uzyskać dostępu sam :: gdy żaden zakres klasy nie jest aktywny".
Jeśli zadzwonię second_function
poza funkcją inside_this
, to działa dobrze:
class MyClass {
public static function first_function() {
function inside_this() {
// some stuff here
}
$some_var = self::second_function(); // this works
} // End first_function
protected static function second_function() {
// do stuff
} // End second_function
} // End class PayPalDimesale
Co muszę zrobić, aby móc korzystać second_function
od wewnątrz funkcji inside_this
?
Czy próbowałeś zamknąć? 'function inside_this() use ($ self) {' – bfavaretto
Po prostu wypróbowałem - nie działało :( – JROB
Zdałem sobie sprawę zbyt późno, że 'self' nie jest zmienną ... – bfavaretto