Fatal Error – Class ‚Environment‘ not found

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
dubak
Člen | 41
+
0
-

Zdravim vsetkych,
po nainstalovani Nette Frameworku som zacal podla QS vytvarat ukazkovu aplikaciu „Todolist“ a ked som sa dostal k vytvoreniu modelu (https://doc.nette.org/cs/quickstart)
a do souboru app/config.ini dopisal: dibi::connect(Environment::getConfig(‚database‘));
tak po spusteni aplikacie mi „ladenka“ hlasi ze nemoze najst triedu ‚Environment‘.
Presiel som zdrojaky dibi a veru tam taka trieda nieje. Otazka teda je: kam ju mam doplnit a kde ju stiahnem? Nasiel som nieco taketo: (https://api.nette.org/…ronment.html) Je to ta trieda?
Dakujem

Aurielle
Člen | 1281
+
0
-

Ano, třída Environment je součástí Nette. Pravděpodobně máš ale staženou prefixovanou verzi, takže musíš všechna volání Environment nahradit za NEnvironment. (přidat na začátek N)

Ani
Člen | 226
+
0
-

Environment je třída přímo v nette.

Pravděpodobně tam budeš mít problém s namespace (tj. požíváš nette s namesace, ale nemáš ho u třídy), nebo máš prefixovanou verzi nette.

dubak
Člen | 41
+
0
-

Diky za info, ano bolo to tym prefixom, napriek tomu ze mam na localhoste uz PHP 5.3.1 som zvolil starsiu verziu nette (bolo to odporucane pre zaciatocnikov).
Cize aplikacia uz ide, ale je tu jeden problem, vyhadzuje mi chybu:
Notice: Undefined variable: showDoneTasks in E:\work\nette\todolist\app\presenters\TodolistPresenter.php on line 14

Notice: Undefined variable: showDoneTasks in E:\work\nette\todolist\app\presenters\TodolistPresenter.php on line 21

Ked pozriem do prezentera, ta premenna $showDoneTasks tam je pouzita v metodach akcie show. Najprv som myslel, ze to je nastavenim php.ini na: error_reporting = E_ALL & ~E_NOTICE ale to som zmenil na error_reporting = E_ALL a stale ma problem s tym, ze premenna nieje inicializovana. Tak som rozmyslal ci neni lepsie ju najprv zadefinovat ako privatnu datovu premennu: private $showDoneTasks = NULL;
a potom sa na nu v kode odkazat ako: $this->showDoneTasks
co sa prejavilo tym, ze uz sa upozornenie nevypisalo.

Inak ked som nad tym tak rozmyslal, ked spustim aplikaciu, nerozumiem co ju rozbehne. Mam tam prezenter a v nom akciu actionShow(), to tato to spusta automaticky? A potom sa spusti hned metoda renderShow()? Doposial som nepracoval nikdy s frameworkom, objekty a ich metody som inicializoval manualne v aplikacii, tuto som z toho trosku zmateny :-O

bojovyletoun
Člen | 667
+
0
-

podle mě nastavování errorlevlu nemá cenu, framework to sám nastaví na all – strict.

jinak s tím actionXXX()

podívej se na Presenter.php – za to zodpovídá metoda formatactionmethod($akce){return action$akce;}