Czy mógłbym prosić o prostą wykładnię, które podejście jest bardziej "prawidłowe" dla poniższego przykładu (o ile którekolwiek jest prawidłowe

Chodzi mi o to, czy dla zasady konstruktor powinien być możliwie jak najmniej skomplikowany i dalsze zadania na atrybutach powinno się wykonywać w osobnych metodach, czy nic nie stoi na przeszkodzie, by już w konstruktorze wykonywać działania?
Co lepsze? Ta klasa:
czy może ta klasa:
class A { private $zmienna = ''; private $info = ''; public function __construct($zmienna) { $this->zmienna = $zmienna; $this->info = $info; if ( $this->zmienna == 'test' ) $this->info = 'ok'; else $this->info = 'coś nie gra'; } public function wyswietl() { return $this->info; } }
Proszę nie zwracać uwagi na bezsensowny przykład, możliwy do rozwiązania w 1 linijce w sposób proceduralny. No chyba, że za pomocą klasy ten problem powinien być rozwiązany w kompletnie inny sposób. Wynik końcowy ma za zadanie zwrócić 'ok', albo 'coś nie gra', w zależności od parametru początkowego przy tworzeniu obiektu klasy A.
class A { private $zmienna = ''; private $info = ''; public function __construct($zmienna) { $this->zmienna = $zmienna; $this->info = $info; } private function sprawdz() { if ( $this->zmienna == 'test' ) return 'ok'; else return 'coś nie gra'; } public function wyswietl() { return $this->sprawdz(); } }
$a = new A('test');