Chyba na PHP 8.5 při přidání formuláře

SamuelThorn
Člen | 32
+
0
-

Ahoj,

testuji PHP 8.5. A ve chvíli, kdy se pokusím přidat formulář: {control signInForm} a v presenteru $form = $this->formFactory->create();, skončím s chybovým hlášením:

Deprecated: Using null as an array offset is deprecated, use an empty string instead

Chyba je odtud:
Container.php#L69

nette/application a nette/forms mám poslední verzi ⇒ 3.2.7

Je to chyba u mě, nebo v Nette?

Editoval SamuelThorn (11. 11. 11:16)

stepos2
Člen | 55
+
0
-

Ani application, ani forms nemají v posledním releasu podporu PHP 8.5. V dev-master možná jo.

Marek Bartoš
Nette Blogger | 1315
+
0
-

Odkazuješ na problém v component-model. Ne application nebo forms, takže bys měl řešit verzi component-model.
Na řádku na který odkazuješ se null před přístupem na index kontroluje, takže je problém opravený.
Teď už by ti mělo stačit zjistit, v jakém commitu oprava vznikla. Je to tenhle – https://github.com/…226bbdc5385e
A v commitu už se dočteš, že není v žádném tagu, jen v masteru. Nemáš master? → nemáš ani opravu.

Editoval Marek Bartoš (11. 11. 13:48)

SamuelThorn
Člen | 32
+
0
-

Děkuju. Přiznám se, že když jsem balíček nette/component-model nanšel v composer.json, tak jsem si dovolil odhadnout, že to bude součást application, nebo forms. Moje chyba. Omlouvám se.

A tedy, vůbec netuším, jak ses dostal k tomu commitu, který odkazuješ, to bylo tady odtud „https://commits.nette.org/“?. A tam už vidím, že application ještě podporu PHP 8.5 nemá. Děkuju.

Github je pro mě stále jedna velká džungle, a tak nevím pořádně, kde tam co mám hledat. A tedy ani, kde najedu ten „tag“.

Každopádně se omlouvám za zbytečný poplach.

Marek Bartoš
Nette Blogger | 1315
+
+4
-

A tedy, vůbec netuším, jak ses dostal k tomu commitu

Na GitHubu, přes tlačítko blame v zobrazení souboru, byl to poslední commit měnící ten řádek. Případně je tam i historie všech commitů co soubor měnily.

když jsem balíček nette/component-model nanšel v composer.json

Je to tranzitivní závislost, nette/application závisí na nette/component-model. Balíček spolehlivě poznáš ze struktury ve vendoru – vendor/author/package. Dá se i zjistit proč je nainstalovaný, přes composer why nette/component-model

Github je pro mě stále jedna velká džungle, a tak nevím pořádně, kde tam co mám hledat. A tedy ani, kde najedu ten „tag“

Na úvodní stránce si můžeš zvolit ze selectu, zda chceš prohlížet verzi repozitáře z masteru nebo jiné větve nebo i tagu. Když jsi na masteru, můžeš si přes vyhledávání nebo prokliknutím strukturou souborů najít konkrétní soubor. Když si v něm najdeš konkrétní commit, tak už se tam zobrazuje v jaké větvi a případně v jakém tagu se objevil poprvé.

Editoval Marek Bartoš (11. 11. 17:02)

SamuelThorn
Člen | 32
+
0
-

Na GitHubu, přes tlačítko blame v zobrazení souboru…

Děkuju moc, o tomhle jsem vůbec neměl tušení.

composer why nette/component-model

Ani o tomto. Děkuju.

Na úvodní stránce si můžeš zvolit ze selectu…

Tohle budu muset ještě nějak prozkoumat. Moudrý tam z toho nejsem.