Görünüşe göre $ pid burada kapsam dışı. Bu işlevle birlikte "kapalı" yapılmamalıdır mı? Oldukça eminim ki javascript'te kapaklar nasıl çalışır.PHP kapatma kapsamı sorunu
php closures are broken, bazı makalelere göre bu erişemiyor?
Peki $ pid bu kapatma fonksiyonu erişilebilir olabilir? Ben kullanımı ile etrafında aldıkclass MyClass {
static function getHdvdsCol($pid) {
$col = new PointColumn();
$col->key = $pid;
$col->parser = function($row) {
print $pid; // Undefined variable: pid
};
return $col;
}
}
$func = MyClass::getHdvdsCol(45);
call_user_func($func, $row);
Düzenleme: $col->parser = function($row) use($pid)
. Ancak bunun çirkin olduğunu hissediyorum.
O çirkin değildir:
Sen küresel anahtar sözcüğünü kullanması – zerkms
işte bu yüzden php'de nasıl .. – tradyblix
Bu çirkin bir dil ama ben buna takılıyorum. :( – Keyo