__construct
에 직접 속성을 설정하는 것은 바람직하지 않습니다. Object Oriented PHP에서 이러한 코드 블록 중 하나가 더 나은 방법입니까? 나는 클래스의 외부에서 작업을 수행하는 나쁜 관행을 알고__construct에서 직접 속성을 설정하는 것은 나쁜 습관입니까?
...
class person {
protected $name;
function __construct($persons_name) {
$this->set_name($persons_name);
}
function set_name($new_name){
$this->name = $new_name;
}
}
VS.
class person {
protected $name;
function __construct($persons_name) {
$this->name = $persons_name;
}
function set_name($new_name){
$this->name = $new_name;
}
}
나는'__set()'을 사용해야하므로'set_name()'이 나쁜 습관이라고 주장한다. 다른 사람들은 게타와 세터가 모두 나쁜 습관이라고 주장한다. 골라보세요. –
PHP OOP를 올바른 방법으로 배울 수있는 좋은 책이 있습니까? 귀하의 재산이 공개되어 있기 때문에 –
'set_name()'은 여기에 중복됩니다. 왜 누군가가 그것을 변경하는 방법을 사용해야합니까? 그것을 보호하거나 개인으로 만드는 것만으로도이 방법을 사용하는 이유가있을 수 있습니다.setter는 직접 액세스 할 수없는 좋은 이유가있는 속성에 적합합니다. –