나는 OOP에 들어가고 다음과 같은 딜레마를 겪는다. 저는 수업을 가지고 있습니다 :각 공용 속성에 접근 자 메서드가 있어야합니까?
class Recipe {
var $title;
var $time;
var $ingredients = array();
var $instructions;
var $category;
function __construct($title, $time, $ingredients, $instructions, $category) {
$this->title = $title;
...
}
function getTitle() {
return $this->title;
}
}
모든 속성은 공개 (기본값)입니다. 나는 이러한 모든 속성 (예 : 인 getTitle)에 대한 접근 방법을 정의하거나 그냥 같이 직접 속성을 참조 할 수 있습니다 수행
...
$recipe = new Recipe($title, $time, $ingredients, $instructions, $category);
echo $recipe->title; // versus $recipe->getTitle();
나는 접근 방법을 정의 할 필요가없는 많은 시간을 절약 할 것 같습니다 . 그러나 이런 종류의 접근 방식의 장단점은 무엇일까?
어떤 종류의 오류가 있습니까? 값을 어기는거야? – Michael
임의 데이터를 설정하지 않아도 유효성 검사를 수행하고 오류를 줄일 수 있습니다. –
대신 ** __ get ** 및 ** __ set **을 사용할 수 없습니까? – Michael