(PECL classkit >= 0.1)
classkit_method_redefine — Verilen yöntemin kodunu devingen olarak değiştirir
Bilginize: Bu işlev çalışmakta olan yöntemi değiştirmekte kullanılamaz.
Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu riski göze alamayacaksanız bu işlevi kullanmayın.
Yeniden tanımlanacak yöntemin sınıfı
Yeniden tanımlanacak yöntem
Yöntemin virgülle ayrılmış değiştirgeler listesi
yontemadi çağrıldığında işleyecek olan yeni kod
Yöntem CLASSKIT_ACC_PUBLIC, CLASSKIT_ACC_PROTECTED veya CLASSKIT_ACC_PRIVATE tiplerinden biri olabilir
Bilginize:
Bu değiştirge, PHP 5'den itibaren kullanılabilir, öncesinde bütün yöntemler açıktır (public).
Başarı durumunda TRUE, başarısızlık durumunda FALSE döner.
Örnek 1 - classkit_method_redefine() örneği
<?php
class Example {
function foo() {
return "foo!\n";
}
}
// Example nesnesi oluştur
$e = new Example();
// Example::foo() (yeniden tanımlamadan önce yöntem çıktısı)
echo "Before: " . $e->foo();
// 'foo' yöntemini yeniden tanımla
classkit_method_redefine(
'Example',
'foo',
'',
'return "bar!\n";',
CLASSKIT_ACC_PUBLIC
);
// Example::foo() (yeniden tanımlamadan sonra yöntem çıktısı)
echo "After: " . $e->foo();
?>
Yukarıdaki örneğin çıktısı:
Before: foo! After: bar!