2016-06-24 2 views
0

Можно ли печать в переменной, которая имеет значение внутри функция, но она называется из-за пределов функции будет печать в объектно-ориентированное программирование в PHPPHP OOP печать переменной, которая имеет значение внутри функции, но звонить из вне быть печать

Поясним на примере

Мой класс выглядит следующим образом:

class my { 
    public $a; 

    public function myFunc(){ 
     $name = "fahad"; 
     echo $this->a; 
    } 

} 

Она должна вывести значение $name, когда функция вызова, как я пытаюсь:

$class = new my(); 
$class->a = '$name'; 
$class->myFunc(); 

Но did't работа и распечатать результат в виде:

$name 

Я хочу, чтобы он должен распечатать значение переменной $name, которое составляет внутри Функция

Как это возможно?

Thank you.

+0

Это плохая идея. Это нарушает абстракцию. почему ты хочешь сделать это? – Will

+0

, потому что я не хочу тяжело выполнять свои функции класса, а некоторые данные хотят вызвать извне функцию –

+0

@ Ответ ShiraNai7 решил решить мою проблему –

ответ

2

Вы можете использовать variable variables, чтобы сделать это, но это, как правило, считается плохой практикой.

class my { 
    public $a; 

    public function myFunc(){ 
     $name = "fahad"; 
     echo ${$this->a}; 
    } 
} 

$class = new my(); 
$class->a = 'name'; 
$class->myFunc(); 

Выход:

fahad 
+0

Спасибо, что это решило мою самую большую проблему: это то, что я хотел –

0

Внутри вашей функции, вы можете сделать проверку:

public function myFunc(){ 
    if($this->a == '$name'){ 
     $name = 'fahad'; 
     echo $name; 
    }else echo $this->a; 
} 
Смежные вопросы