Nesnelerimden birinde yinelemeli bir lambda işlevi var ve nesnenin mysqli bağlantısına erişmesi gerekiyor. Bu girişimEbeveyn nesnesine lambda işlevlerinden nasıl erişilir?
$recfunc = function($id, $name) use($this) {
Fatal error: Cannot use $this as lexical variable in C:\Users\Codemonkey1991\Desktop\workspace\melior\objects\databasemanager.php on line 88
kimse bana birkaç ipucu verebilir misiniz mantıksız önemli bir hatayla
Üretilen?Düzenleme: Sadece içeriği açıklığa kavuşturmak için, bu lambda işlevini başka bir işlevin içinde oluşturmaya çalışıyorum. $this
referans açıkça lamda işlevine geçirilecek gerekmez
$host = $this;
$recfunc = function($id, $name) use ($host) { ...
Hey, sadece bir soru daha: Kendisini çağırmak için işleve sahip olmak için nasıl giderim? – Hubro
'$ recfunc = işlev ($ id, $ name) kullanımı ($ host, & $ recfunc) {if (FOO) $ recfunc ($ id, $ name); } ' –
Bu hata ile ilgili bir bugs.php.net raporunu incelediğinizde, bu özellik PHP 5.4'e eklenmiştir. –