Hlavní navigace

Názor ke zprávičce PHP slaví 25 let od anonym - „By me zajimalo co sis musel tak moc...

  • Aktualita je stará, nové názory již nelze přidávat.
  • 10. 6. 2020 9:24

    bez přezdívky

    By me zajimalo co sis musel tak moc doprogramovat oproti D6.

    Popravdě, už jsem většinu z toho vytlačil z paměti, nicméně namátkou;
    • Nodereference URL - některé typy uzlů jsou odkazovány jinými (např. „zadání výzvy“ - „řešení“). Pro pohodlí uživatelů přidávám k odkazům pod uzlem odkaz, který vede na vytvoření nového uzlu s před-vyplněnou referencí. V D8 jsem sice našel alternativu, ale neúplnou, takže jsem si to implementoval celé sám.
    • Alt login & display names - na webu máme „přihlašovací jméno“ bez háčků a čárek a „zobrazované jméno“. V D6 jsem použil základní user name pro zobrazení a alternativní field pro přihlášení. Tento plugin v D8 prohazuje tyto role, což funguje... dokud nevytvoříte user reference autocomplete field; ten totiž vyhledává podle user name. Je mi celkem jasné, že problém je už v základním designu, takže jsem to ani nereportoval a implementoval si vlastní variantu, která se drží původního konceptu.
    • CKEditor je v základu velmi omezený. Vzhledem k cílové skupině uživatelů, nastavování barviček apod. je pro ně velmi důležité (jakkoliv nám to může přijít zbytečné). Přidání pluginů vyžaduje nejen jejich stažení do složky libraries (nebo tak nějak), ale i registrování skrz PHP. Některé CKE pluginy řeší moduly, některé si musím takto řešit sám.
    • Osobní zprávy - jistě, existuje hned několik modulů pro D8. Jenže všechny jsou buď opuštěné, nebo v raných fázích vývoje. Jedinou výjimkou, kterou jsem našel, je private_message, jenže kromě toho, že má pár zásadních bugů (aktuálně si už nepamatuji, co to bylo, ale nějaká featura prostě nefungovala), tak buď jsem blbý, nebo jeho použití je strašně neintuitivní - abych pochopil, jak to funguje, musel jsem se podívat do zdrojáku a v ten moment mi došlo, že tohle po svých uživatelích nemůžu chtít.
    • Je potřeba dělat i vlastní bug-fixy, například:
      • (K tomuto jsem se ještě nedostal.) Při použití obráceného řazení komentářů jsou odkazy na komentáře chybné. A z reakce to nevypadá, že by autoři měli nějak zájem to řešit, ale poskytli nápovědu, kde je problém, takže si prostě budu muset hacknout jádro, jakkoliv se mi to příčí.
      • (K tomuto jsem se též ještě nedostal.) Widget pro práci s obrázky v CKEditoru je zabugovaný. Bug report je ignorovaný, takže si budu muset najít čas a nějak to vyřešit. (Uznávám, toto nejspíš budu muset řešit v JavaScriptu, ne PHP.)
      • Je toho víc, ale z hlavy si už další nevzpomínám. Nicméně myslím, že tam mám řádově tak 5 patchů v PHP composeru, které něco opravují.
    • A další...

    A kromě doprogramování jsem se musel v PHP hrabat kvůli migracím. Dokumentace je tak omezená a chybové hlášky většinou chybí, nebo jsou totálně nevypovídající, že jsem nakonec debugoval samotný migrační kód, což mi dalo chybějící informace.

    Ono vlastně ve chvíli, kdy chci po D8 (jak v případě jádra, tak modulů) cokoliv víc, než je popsáno v dokumentaci, která většinou pokrývá jen „první kroky“, se ukázalo debugování jako nejspolehlivější zdroj informací (tím druhým je samozřejmě Google).