classkit_method_add

(PECL classkit >= 0.1)

classkit_method_addVerilen sınıfa devingen olarak yeni bir yöntem ekler

Açıklama

classkit_method_add ( string $sinifadi , string $yontemadi , string $degistirgeler , string $kod [, int $bayraklar = CLASSKIT_ACC_PUBLIC ] ) : bool
Uyarı

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.

Değiştirgeler

sinifadi

Yöntemin ekleneceği sınıf adı

yontemadi

Eklenecek yöntemin adı

degistirgeler

Yeni yöntem için virgülle ayrılmış değiştirgeler listesi

kod

yontemadi çağrıldığı zaman işleyecek kod

bayraklar

Yöntemin tipi, CLASSKIT_ACC_PUBLIC, CLASSKIT_ACC_PROTECTED veya CLASSKIT_ACC_PRIVATE değerlerinden biri olabilir

Bilginize:

Bu değiştirge, PHP 5'den itibaren kullanılabilir, öncesinde bütün yöntemler açıktır (public).

Dönen Değerler

Başarı durumunda TRUE, başarısızlık durumunda FALSE döner.

Örnekler

Örnek 1 - classkit_method_add() örneği

<?php
class Example {
    function 
foo() {
        echo 
"foo!\n";
    }
}

// Example nesnesi oluştur
$e = new Example();

// Yeni açık (public) yöntem ekle
classkit_method_add(
    
'Example',
    
'add',
    
'$num1, $num2',
    
'return $num1 + $num2;',
    
CLASSKIT_ACC_PUBLIC
);

// 12 + 4 
echo $e->add(124);
?>

Yukarıdaki örneğin çıktısı:

16

Ayrıca Bakınız

add a note add a note

User Contributed Notes 1 note

up
1
Lester
16 years ago
If you creates methods by using classkit_method_add(), they are not visible in get_class_methods().

class A
{   
       public function foo()
       {
            return "foo!\n";
       }
}

classkit_method_redefine('A','bar','','return "bar !\n";',CLASSKIT_ACC_PUBLIC);

print_r(get_class_methods('A'));
// writes only "foo"
To Top