Samostatné Nette\Forms vrací chyby
- grovik
- Člen | 87
Zdravím,
zkouším použít samostatně NETTE\Forms.
Bohužel nejprve jsem se dopracoval k této chybě:
` Parse error: syntax error, unexpected '.', expecting '&' or variable (T_VARIABLE) in C:\wamp\www\JPlocal\Nette\Forms\Form.php on line 579 `
Začal jsem se pídit po tom co by mohlo být zle a našel jsem kousek
návodu přímo zde na webu. Použil jsem composer a nastavení tak jak je
uvedeno v návodu.
Tedy takhle:
use Nette\Forms\Form;
$form = new Form();
$form->addText('name', 'Jméno:');
$form->addPassword('password', 'Heslo:');
$form->addSubmit('send', 'Registrovat');
echo $form;
To ale končí jinou chybou:
Fatal error: Class 'Nette\Forms\Form' not found in C:\wamp\www\JPlocal\test.php on line 12
Je jasné, že tahle druhá chyba nesouvisí s tou první, problém je, že ať dělám co dělám jsem buď na chybě první nebo na téhle. Dokumentace v tom moc nepomáhá. Takže otázka je co dělám špatně.
PS: Nejsem zrovna objektově kovaný, už je mi trošku moc abych se to učil po tolika letech co jsem si vystačil s Assemblerem ;-). Nette je zajímavé, ale ty jeho ukázky a návody jsou často v rozporu s tím co mám na disku (tedy návod popisuje něco co je staré 3 verze). Nebránil bych se tomu to aktualizovat, na druhou stranu nejsem toliko znalí abych to zvládl bez pomoci ;-).
- David Matějka
- Moderator | 6445
ta prvni chyba – asi sis stahnul vyvojovou verzi, ktera vyzaduje php 5.6..
a u druhe chyby, includujes soubor vendor/autoload.php
?
- David Matějka
- Moderator | 6445
@chemix ale hodilo by se to dopsat do dokumentace v nette, https://doc.nette.org/…ces/composer .. to se vubec o autoload.php nezminuje
- grovik
- Člen | 87
Lehce OT: Občas je fakt velký problém, se v návodech zorientovat. Jednak některé postupy v Nette jsou už staré, ale občas se tu na ně narazí a jindy je problém právě s tím, že nekorespondují například s tím co se najde ve staženém balíku Nette.
Já sem na ten autoload.php taky pomyslel, ale pak jsem narazil na tohle: https://doc.nette.org/cs/forms což mě od toho opětovně odvedlo, tam je dole popsané samostatné použití a čekal jsem, že to bude OK. Ale ta hlavní část problému je zcela opomenuta. Je někdo jako správce dokumentace? Nebo něco takového?
- Šaman
- Člen | 2668
V kapitole o formulářích nemá autoloading co dělat. To není věc
Nette, ale composeru – tobě by nefungovala ani jiná knihovna,
nainstalovaná composerem.
Když už, tak by se to dalo zmínit v kapitole
Composer
- chemix
- Nette Core | 1310
@DavidMatějka myslis treba do sekce : https://doc.nette.org/…ces/composer#… ?
- chemix
- Nette Core | 1310
Nebo poupravit sekci
<?php
use Nette\Forms\Form;
require ('...'); // zde je nutne nejak nacist knihovny, pomoci composer, nebo rucne (fujiky)
$form = new Form;
$form->addText('name', 'Jméno:');
$form->addPassword('password', 'Heslo:');
$form->addSubmit('send', 'Registrovat');
echo $form; // vykreslí formulář
nebo
..
$form = new Nette\Forms\Form;
$form->addText('name', 'Jméno:');
$form->addPassword('password', 'Heslo:');
$form->addSubmit('send', 'Registrovat');
echo $form; // vykreslí formulář
- David Matějka
- Moderator | 6445
chemix napsal(a):
@DavidMatějka myslis treba do sekce : https://doc.nette.org/…ces/composer#… ?
ano, tam myslim. jen je to tam nejak divne strukturovany (nebo je to zamer?), ze je to pod sekci „Vlastni balicky“, asi by bylo lepsi to presunout pod „Pouziti“
do kapitoly s formulari bych pak akorat dal odkaz do kapitoly o composeru (jak tam je „Nainstalujete je pomocí Composeru.“)