Какова цель определения публичной инкапсуляции для PHP ООП? - PullRequest
0 голосов
/ 22 мая 2011

Я погружаюсь в объектно-ориентированную сторону PHP, и меня интересует публичная инкапсуляция. Я понимаю цель частной и защищенной инкапсуляции, но когда речь идет о публичной, зачем это заявлять?

Так, например, у меня есть public $name;

Но если я могу просто установить $this->name = 'whatever', тогда почему "public $varname" существует?

1 Ответ

5 голосов
/ 22 мая 2011

Потому что всегда лучше явно указывать свойства класса. Да, вы можете просто установить их динамически в методе, когда это необходимо, но это усложняет задачу, когда вы пытаетесь вспомнить, должно ли это быть $varname, $var_name, $varName или уже «объявил» имущество вообще.

Он также гарантирует, что свойство существует, когда вы пытаетесь с ним работать, что сохраняет ваши вызовы на isset и делает ваш код более кратким и надежным.

...