Tvorba komponenty – problém s ukážkovou komponenetu
- johnnie
- Člen | 54
Ahoj,
V prvom rade som začiatočník s Nette a dal som si za úlohu vytvoriť
nákupný košík (cart).
Chcel by som aby ten nákupný košík fungoval ako komponenta.
V dokumentácii som našiel túto komponentu Github →
fifteen
Používam aplikáciu z quickstart blogu.
Dostávam túto chybu
Class ‚App\Presenters\FifteenControl‘ not found.
Môj HomepagePresenter.php
<?php
namespace App\Presenters;
use Nette;
class HomepagePresenter extends BasePresenter
{
/** @var Nette\Database\Context */
private $database;
public function __construct(Nette\Database\Context $database)
{
$this->database = $database;
}
public function renderDefault($page = 1)
{
$this->template->page = $page;
$this->redrawControl('round');
$this->template->posts = $this->database->table('posts')
->order('created_at DESC')
->page($page, 5);
}
/**
* Fifteen game control factory.
* @return FifteenControl
*/
protected function createComponentFifteen()
{
$fifteen = new FifteenControl();
$fifteen->onGameOver[] = [$this, 'gameOver'];
$fifteen->redrawControl();
return $fifteen;
}
public function gameOver($sender, $round)
{
$this->template->flash = 'Congratulations!';
$this->redrawControl('flash');
}
}
Komponentu mám totožnú s githubom ktorý som linkoval vyššie.
Je možné že mám vyššiu verziu(2.3.4) na ktorú je ukážková komponenta
v dokumentácii ?
Prípadne ako ju mám upraviť aby k nej mal presenter prístup?
- David Matějka
- Moderator | 6445
Problem je v namespace, ktery ta komponenta nema. Takze bud ji pridej do
use
nebo pouzij FQN (\FifteenControl
)
- David Matějka
- Moderator | 6445
@johnnie viz http://php.net/…mporting.php, tedy ze bys za
use Nette;
pridal use FifteenControl;