Jak v presenteru zjistím zda jsem v produkčním / ladícím modu?
- Jan Tvrdík
- Nette guru | 2595
enumag wrote: Všichni víme že je to v podstatě jen otázka času. :-)
Já to nevím, ve stable ani v dev není deprecated a do budoucnosti nevidím.
jeho používání je přinejmenším nedoporučováno
Ani s tímhle úplně nesouhlasím. $this->context
nemá
rovnocennou alternativu.
- enumag
- Člen | 2118
Jan Tvrdík napsal(a):
Ani s tímhle úplně nesouhlasím.$this->context
nemá rovnocennou alternativu.
S tím souhlasím, jen nějak nemám pocit že bych tu rovnocenou alternativu potřeboval.
Navíc kdo to potřebuje může si to udělat sám, ve frameworku to být nemusí.
protected $container;
public function injectContainer(\Nette\DI\Container $container) { ... }
public function getContext() { return $this->container; }
- uestla
- Backer | 799
Používám poděděnou PresenterFactory
, ve které na
vytvořené instanci presenteru volám
setParameters($container->parameters)
.
Metodu setParameters()
dám do BasePresenter
u a
v každém dílčím presenteru, který oproti tomu Base* potřebuje ještě
nějaký parametr navíc, si setParameters()
přepíšu. Např.:
class HomepagePresenter extends BasePresenter
{
/** @var bool */
protected $productionMode;
function setParameters(array $params)
{
parent::setParameters($params);
$this->productionMode = (bool) $params['productionMode'];
return $this;
}
}