Class ‚Calendar‘ not found
- kasiopia
- Člen | 69
Dobrý deň mám malí problém s premenými priestormi vie mi niekto poradiť ďakujem, chyba Class ‚Calendar‘ not found
namespace App\Presenters;
use Nette;
use App\Model;
use Calendar;
class HomepagePresenter extends BasePresenter
{
public function renderDefault()
{
$this->template->anyVariable = 'any value';
}
protected function createComponentCalendar()
{
$cal = new Calendar();
// zkrátí názvy dnů v týdnu na 2 znaky
$cal->truncateDaysLabelsTo(2);
return $cal;
}
}
Editoval kasiopia (3. 2. 2016 20:03)
- kasiopia
- Člen | 69
nepomohlo vo vendore mám názov zložky Calendár
Komponenta https://componette.org/search/?…
Editoval kasiopia (3. 2. 2016 20:25)
- Martk
- Člen | 661
Doplněk používá jmenný prostor blitzik\Calendar\Calendar
Můžeš to používat takhle:
$calendar = new \blitzik\Calendar\Calendar();
// Nebo
use blitzik\Calendar\Calendar();
$calendar = new Calendar;
// Nebo
use blitzik\Calendar;
$calendar = new Calendar\Calendar();
Více v návodech na různých webech.
Editoval Antik (3. 2. 2016 21:17)
- Mysteria
- Člen | 797
Use slouží ke zpřehlednění kódu, protože si vem, kdyby jsi chtěl použít třeba 10× tohle, tak se upíšeš k smrti.
$a = new \Moje\Super\Aplikace\Hodne\Zanorena\Komponenta();
Tím, že napíšeš use Moje\Super\Aplikace\Hodne\Zanorena\Komponenta, tak kdekoliv v kódu se narazí na Komponenta, tak se mrkne PHPčko do use, jestli tam náhodou řádek, který ji definuje a pokud jo, tak ji použije.
No a jak zjistíš namespace? No úplně jednoduše se buď podíváš do té třídy a je to první řádek nahoře nebo každé lepší IDE, když začneš psát název třídy, tak by ti mělo vyjet menu, kde je i celá cesta včetně namespace.
- kasiopia
- Člen | 69
Dakujem za výklad ale nechápem prečo tato aplikácia nefunguje
<?php
namespace App\Presenters;
use Minetro\Social\Facebook\LikeButton;
use Minetro\Social\Facebook\Script;
/**
* @return LikeButton
*/
use Nette;
use App\Model;
class HomepagePresenter extends BasePresenter
{
public function renderDefault()
{
$this->template->anyVariable = 'any value';
}
protected function createComponentLikeButton()
{
$button = new LikeButton();
$attrs = $button->getAttributes();
// URL - manually
$attrs->add('data-url', $this->link('Home:default'));
// URL - current
$attrs->add('data-url', $this->link('//this'));
// Add other attributes
$attrs->add('data-layout', $button::LAYOUT_BUTTON_COUNT);
// OR
$attrs->data('layout', $button::LAYOUT_BUTTON_COUNT);
return $button;
}
/**
* @return Script
*/
protected function createComponentScript()
{
return new Script();
}
}
Cesta sedi ako bolo opísane ale vypisuje Component with name ‚likebutton‘ does not exist, did you mean ‚likeButton‘?
- David Matějka
- Moderator | 6445
Ja nevim, jak by ta chyba mohla byt jasnejsi, kdyz ti to i rekne, jak to opravit.
- David Matějka
- Moderator | 6445
ne, prvni pismeno je male, dalsi jsou dle nazvu v createComponent. Takze
spravne je {control likeButton}