komponenta – Cannot redeclare class
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- elden46
- Člen | 37
Zdravim,
snazim se vytvorit komponentu pro nejaky zakladni vypis tabulky a koncim na
chybe Cannot redeclare class OrderList
Snazil jsem se komponentu vytvorit podle tutorialu, bohuzel mi ale neco stale unika.
Smazani cache nepomohlo.
kod komponenty:
<?php
use Nette\Application\UI;
class OrderList extends UI\Control {
/** @var string */
private $state;
/** @var \Model */
private $model;
public function __construct(\Model $model)
{
parent::__construct();
$this->model = $model;
}
public function setState($state){
$this->state = $state;
}
public function render(){
$this->template->setFile(dirname(__FILE__ . '/OrderList.latte'));
$this->template->render();
}
}
?>
kod presenteru
<?php
use Nette\Application\UI\Form;
class OrdersPresenter extends BasePresenter
{
protected function createComponentOrderList() {
$orderList = new OrderList($this->model);
return $orderList;
}
}
?>
kod sablony OrderList.latte:
{block content}
<h1>Objednávky</h1>
{control orderList}
{/block}
Uz z toho zacinam byt zoufaly, urcite nekde prehlizim nejakou blbost.
- elden46
- Člen | 37
Nazdar,
nic neregistruju dvakrat ani nic nerequireuju, aplikace je teprve v zacatku, ma
par presenteru a toto je prvni komponenta. Je to postavene vicemene na
skeletonu, do zadnych uprav logiky jsem se (snad) nepoustel.
Nepomaha ani prejmenovani komponenty (Cannot redeclare class
<NoveJmeno>).
Ladenka mi vyhazuje chybu u radku s render(), kdyz render() okomentuju, tak mi aplikace naspadne (a samozrejme komponentu nezobrazi).
public function render(){
$this->template->setFile(dirname(__FILE__ . '/OrderList.latte'));
$this->template->render();
}