Samostatné Nette\Forms vrací chyby

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

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
+
+1
-

ta prvni chyba – asi sis stahnul vyvojovou verzi, ktera vyzaduje php 5.6.. a u druhe chyby, includujes soubor vendor/autoload.php?

grovik
Člen | 87
+
0
-

Díky!
Pomohlo to :D.

Přesně tohle by chtělo doplnit k návodům. Ještě jednou díky. To PHP 5.6 mě nenapadlo.

chemix
Nette Core | 1310
+
0
-
David Matějka
Moderator | 6445
+
0
-

@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
+
0
-

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?

CZechBoY
Člen | 3608
+
0
-

To už asi není součástí Nette dokumentace. Používat composer se naučíš zase jinde ;-)
Jsou určeni lidé, kteří spravují dokumentaci. Můžeš poslat pull request na githubu.

Šaman
Člen | 2668
+
0
-

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
+
0
-

@DavidMatějka myslis treba do sekce : https://doc.nette.org/…ces/composer#… ?

chemix
Nette Core | 1310
+
0
-

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
+
+1
-

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.“)