Předání repozitáře do třídy
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Draffix
- Člen | 146
Zdravím, řeším teď takovou prkotinu a nevím si rady a tak než se to budu snažit vyřešit nějakou složitou oklikou, tak se zeptám zde. Mám klasickou třídu:
use Nette\Application\UI;
class xml_heureka extends UI\Control {
/**
* @var ProductModel
*/
protected $product;
public function __construct(ProductModel $product) {
parent::__construct();
$this->product = $product;
$this->create_xml();
}
...
}
A mým jediným problém je, jak si předat repozitář ProducModel. Když bych to volal z presenteru tak je to jasný, stačí mít třeba něco takového:
class SomePresenter extends \Nette\Application\UI\Presenter {
/** @var \ProductModel */
protected $product;
public function beforeRender() {
$this->product = $this->context->product;
$xml = new \xml_heureka($this->product);
}
}
A funguje to bez problémů. Jenže já to potřebuji volat pomocí CRONu a tak si třídu xml_heureka z presenteru volat nemůžu. Navíc potřebuji aby byl zvenčí dostupný a nevím kam třídu vložit aby zároveň se zároveň předával repozitář a byl dostupný zvenčí. Lze toto nějak jednoduše vyřešit?
- HFechs
- Člen | 5
Ahoj, jestli potřebuješ CRON, tak využij CLI presenteru – https://pla.nette.org/…tovani-v-cli.