Nette Framework 0.9.7 + VertrigoServ 2.22

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

Mám problém se zprovoněním Nette Framework 0.9.7 pro verzi 5.2 na localhostu.
Na zkoušení používám program VertrigoServ 2.22, verze PHP 5.2.14

Všechno bylo dle úvodního screencastu. Stopro i require_once odkazuje na loader.php.
Ale framework se prostě nenačte:
Fatal error: Class ‚Framework‘ not found in C:\www\index.php on line 5 to píše, když je obsah index.php:

<?php
 require_once 'Nette/loader.php';
 Framework::promo();

Fatal error: Class ‚Form‘ not found in C:\www\index.php on line 5 to píše, když je obsah index.php:

<?php
 $form = new Form;
 $form->addText('txtJmeno', 'Jméno:');
 $form->addPassword('pswHeslo', 'Heslo:');
 $form->addSubmit('btnPrihl', 'Přihlásit');
 echo $form;

Budu rád, pokud by se problém podařil vyřešit. Rád bych v učení
tohoto frameworku pokračoval. Přeedem děkuji za odpovědi.

Editoval petrf (14. 1. 2011 10:57)

petrf
Člen | 15
+
0
-

Jo a totéž nedělá jenom stabilní, ale i vývojová verze.
A dokonce nejen na localhostu, ale i na www.timehosting.cz

No jo, nette se tváří hezky, taky by ale mohlo fungovat bez problémů tak, jak se prezentuje.

baki
Člen | 21
+
0
-

hmm, mám takový divní pocit, že to píšeš, kde se to psát nemá :). Hoď sem nějaký presenter (homepagepresenter je tuším defaultní) Víš že do index.php se nepíše nic. Doporučuji ti quick start.

edit: tak jsem se podíval na screencast, takže to, co jsem psal neplatí ;). problém asi bude opravdu ve verzi, nebo možná v tom, že máš špatně uloženou složku Nette. opravdu se podívej jestli máš takovou strukturu:

nějaký adresář

  • priklad.php
    • Nette
      • loader.php
      • .....

Editoval baki (14. 1. 2011 12:53)

jasir
Člen | 746
+
0
-

Bych se vsadil že máš staženou blbou verzi.

petrf
Člen | 15
+
0
-

To je zajímavý. Když tam zkopnu To-Do List podle manuálu pro začátečníky, tak to jede. It works!
Ale když to udělam přesně podle toho videa, tak nic. Asi není nette až tak nezávislé na adresářové struktuře, jak tam psali.


Jinak adresářová struktura se shoduje s videem. Dokonce jsem si to pojmenoval i priklad.php namísto index.php. A co se různých verzí týče, tady je výsledek chyb:


NetteFramework pro PHP 5.2 verze 2.0 Alpha, 2.0 Dev a 0.9.7 stable hlásí:
Fatal error: Class ‚Form‘ not found in C:\www\priklad.php on line 5


NetteFramework pro PHP 5.3 verze 2.0 Alpha hlásí:
Warning: Unexpected character in input: ‚\‘ (ASCII=92) state=1 in C:\www\Nette\loader.php on line 49
Parse error: syntax error, unexpected T_STRING in C:\www\Nette\loader.php on line 49


Totéž pak i pro PHP 5.3 i verze 2.0 Dev a 0.9.7 Stable, akorát ne na řádku 49, ale 43 a 42

Editoval petrf (14. 1. 2011 14:00)

Petr Mašát
Člen | 101
+
0
-

Hoj,
hele asi bude nejlepší když to celé zazipuješ a hodíš to třeba na ulozto.cz aby jsme se mohli podívat co tam přesně máš. Takto je to trochu střelba naslepo.

jasir
Člen | 746
+
0
-

petrf napsal(a):

>

NetteFramework pro PHP 5.2 verze 2.0 Alpha, 2.0 Dev a 0.9.7 stable hlásí:
Fatal error: Class ‚Form‘ not found in C:\www\priklad.php on line 5

Nemáš staženou prefixovanou verzi? (Všechny třídy začínají na N, tedy NForm…)
>

NetteFramework pro PHP 5.3 verze 2.0 Alpha hlásí:
Warning: Unexpected character in input: ‚\‘ (ASCII=92) state=1 in C:\www\Nette\loader.php on line 49
Parse error: syntax error, unexpected T_STRING in C:\www\Nette\loader.php on line 49

To je v pořádku, php5.2 nezná příkaz namespace.

Aurielle
Člen | 1281
+
0
-

Preferovaná verze Nette pro 5.2 je verze s prefixy, tzn. místo třídy Form musíš psát NForm. Dříve to bylo naopak, takže ve screencastech a tutoriálech je použita neprefixovaná verze.

petrf
Člen | 15
+
0
-

Jj, prefixovaná/neprefixovaná verze. S NForm a NFramework to funguje. Díky.
Akorát problém s háčky a čárky. Ale na ten nejdřív zkusim přijít sám nebo vyhledat, jestli tu o tom už někdo nepsal.