Autor Zpráva
TFSi
Profil
Zdravím
jde v PHP nastavit proměnná jenom pro čtení?
Něco ve smyslu:
<?php
class Test{
 static $cfg = false;

 function __construct() {
  self::$cfg = Class::LoadConfig();
  // a odteď už by byla pouze pro čtení
 }

 function Test() {
  self::$cfg = 'neco'; // vyhodí chybu
  echo self::$cfg; // normálně zobrazí obsah
 }

}


Jediné, co mně napadlo, tak by bylo použití nějaké metody která by vracela onu proměnnou:
<?php
class Test {
 private static $cfg;

 function __construct() {
  self::$cfg = Class::LoadConfig();
 }

 public function GetCfg() {
  return self::$cfg;
 }
}

class Trida {
 function Vypis() {
  echo Test::GetCfg();
 }
}


Je nějaké lepší řešení?
Miloš
Profil
Konstanta?
Jan Tvrdík
Profil
Miloš:
Je nějaké lepší řešení?
Pokud lze použít konstantu, tak ji použij. Pokud to nelze, což předpokládám, tak dát ji jako private a napsat pouze getter je jediná možnost. Pokud použiješ Nette\Object, tak se pak ten getter může tvářit jako proměnná (tzv. property).

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: