Globální proměnná v presenteru
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- icanjan
- Člen | 30
Začátečnický problém.
Mám presenter a v tom vytvářím dva formuláře.
<?php
class AdminPresenter extends \App\Presenters\BasePresenter
{
public $global_Id;
protected function createComponentAForm() {}
protected function createComponentBForm() {}
}
?>
Ve formuláři A si vytáhnu data z databáze a uložím si je do
$global_Id (třeba číslo). No a chtěl bych to použít i ve
formuláři B. Proč podruhé číst databázi, když už ty data mám, že?
Je to takto možné udělat? Nebo to jde líp?
Když ve formuláři B $global_Id prostě použiju (zkoušel
jsem i variantu global $global_Id) tak mě to nefunguje.
Proměnná je prázdná.
Prosím o radu či nasměrování. Díky
- Marek Šneberger
- Člen | 130
Co si třeba udělat privátní metodu na nastavování / získávání té property?
private function getGlobalId()
{
if ($this->global_id !== NULL) {
return $this->global_id;
}
$this->globalId = $this->nejakaSluzba->najdiDataProGlobalId();
return $this->globalId;
}
A tu volat v obou formulářích?
Editoval Marek Šneberger (12. 1. 2015 21:29)