PHP Setters/Getters и конструктор

Я искал это в Интернете, но я не могу найти что-то достаточно ясное, чтобы понять. Я видел «похожие» вопросы здесь об этом в Java.

class animal{
    private $name;

    // traditional setters and getters
    public function setName($name){
        $this->name = $name;
    }

    public function getName(){
        return $this->name;
    }

    // animal constructors
    function __construct(){
       // some code here
    }

    // vs

    function __construct($name){
        $this->name = $name;
        echo $this->name;
    }
}

$dog = new animal();
$dog->setName("spot");
echo $dog->getName();

// vs

$dog = new animal("spot");
  1. Должен ли я объявлять и получать доступ к своим закрытым полям через сеттеры и геттеры или через конструктор?
  2. Какой из них является лучшей практикой?
  3. Я понимаю назначение конструктора (, может быть, и нет ), но какой смысл иметь конструктор, если я могу объявлять и получать доступ к своим закрытым полям через сеттеры и геттеры?

Обратите внимание... это мой первый раз, когда я использую ООП с веб-разработкой и PHP, и я пытаюсь учиться, "запачкав" руки, написав некоторый код, чтобы я мог понять определенные вещи в ООП. Пожалуйста, будьте проще.

6
задан Paul Sweatte 30 September 2015 в 14:09
поделиться