2014-02-18 2 views
0

Праведного моего любопытства у меня есть класс, который имеетдинамического вызова/инициализации функции или переменной

class someCLass { 

    var $_var1 = ''; 
    var $_var2 = ''; 

    public function _set(){} 

    public function _get(){} 

    public function _put(){} 

} 

Можно ли назвать эту функцию динамически. Например:

public function insomefunc(){ 

    $key_sample = 'set'; 

    $result = $this->_$keysample(); //call dynamically a function which should be _set() 

} 

так же, как для переменного

public function insomefunc(){ 

    $var_sample = 'var1'; 

    $this->_$varsample = 'jackpot' //assign 

} 

Хочет знать ответы на просветительский. Спасибо

+0

Вы хотите запустить это вне этого класса или внутри? –

+0

@ShankarDamodaran внутри в классе –

ответ

0

Вы можете сделать так ..

<?php 
class someCLass 
{ 

    var $_var1 = ''; 
    var $_var2 = ''; 

    public function set() 
    { 
     echo "I am set"; 
    } 

    public function get() 
    { 
    } 

    public function put() 
    { 
    } 

    public function runset() 
    { 
     $key_sample = 'set'; 
     $this->$key_sample(); 
    } 

} 

$a = new someCLass(); 
$a->runset(); 

OUTPUT :

I am set 
Смежные вопросы