php - установить функцию без значения по умолчанию и вызвать функцию без входного значения

Если вы хотите возиться с классом, не добавляя геттеры и сеттеры ....

PHP 7 добавляет метод вызова ($ obj) (быстрее старого bindTo) на закрытие, позволяя вам вызвать так что переменная $this будет действовать так же, как и в классе - с полными разрешениями.

 //test class with restricted properties
 class test{
    protected $bar="protected bar";
    private $foo="private foo";
    public function printProperties(){
        echo $this->bar."::".$this->foo;   
     }
 }

$testInstance=new test();
//we can change or read the restricted properties by doing this...
$change=function(){
    $this->bar="I changed bar";
    $this->foo="I changed foo";
};
$change->call($testInstance);
$testInstance->printProperties();
//outputs I changed bar::I changed foo in php 7.0 
0
задан Sc-casey 4 March 2019 в 04:08
поделиться

1 ответ

Это не вызвано опцией конфигурации. И я почти уверен, что это не связано с PHP 7, но мне нужно мнение других по этому поводу.

Суть в том, что вы никогда не должны использовать неинициализированную переменную и рассчитывать на неинициализированное значение как часть вашей бизнес-логики. Укажите значение по умолчанию для $ a.

0
ответ дан asiby 4 March 2019 в 04:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: