Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: oss 16. 08. 2022, 15:02:21

Název: Trendy v PHP
Přispěvatel: oss 16. 08. 2022, 15:02:21
Ahojte,
uz dlhsiu dobu som mimo PHP a preto mozno divna otazka, ale chcem si v nom udrzat prehlad.

Ake su teraz trendy v PHP, ake temy momentalne letia (napr. IoC, Redis, performace...), aky framewrok je momentalne prespektivny? Kam smeruje vyvoj?
Název: Re:Trendy v PHP
Přispěvatel: snugar_i 16. 08. 2022, 19:28:28
Z mého pohledu člověka, co se mimo pracovní dobu stará o dva weby v PHP, jde vývoj docela správným směrem a z PHP se stává "skriptovaná Java" - v poslední době přibyly např. enumy, readonly, atributy, ještě víc typové bezpečnosti a tak.

Dva největší frameworky jsou Symfony (důraz spíš na kvalitu) a Laravel (důraz spíš na "cool" featury).

Jaký témata letí bohužel netuším, to jde mimo mě :-)
Název: Re:Trendy v PHP
Přispěvatel: RDa 16. 08. 2022, 23:28:37
Jako clovek co skoncil nekde u PHP6 bych taky ocenil nejaky souhrn jak programovat moderne. Kdyz vyslo 7, a pak i 8, tak se muj codebase neprepisoval pokud fungoval, protoze jsem pozadoval zpetnou kompatibilitu. Ted by uz ta 8 mohla byt ulezela a zajistit ji neni problem na vsech uzlech.

Frameworky me ale nezajimaj.. holt mam svuj vlastni svet :P
Název: Re:Trendy v PHP
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 16. 08. 2022, 23:54:41
S PHP nepracuji, ale obcas pokukuji po Lavarelu. Skoda, ze framework s podobnou filosofii (dosud?) neexistuje pro NodeJS. Hodne veci, ktere delam v NodeJS a Typescriptu by slo v Lavarelu s mnohem mensim usilim.
Název: Re:Trendy v PHP
Přispěvatel: robin martinez 17. 08. 2022, 06:29:07
Symfony, Laravel z tech vetsich. V CR stale asi jednoznacne nette
Název: Re:Trendy v PHP
Přispěvatel: kaspim 17. 08. 2022, 07:01:26
S PHP nepracuji, ale obcas pokukuji po Lavarelu. Skoda, ze framework s podobnou filosofii (dosud?) neexistuje pro NodeJS. Hodne veci, ktere delam v NodeJS a Typescriptu by slo v Lavarelu s mnohem mensim usilim.

Pro Node.js existuje framework AdonisJS, který je Laravelem silně inspirovaný.
Název: Re:Trendy v PHP
Přispěvatel: snugar_i 17. 08. 2022, 08:18:20
Frameworky me ale nezajimaj.. holt mam svuj vlastni svet :P

V tomhle je docela fajn Symfony, protože se (s trochou přemlouvání) nechá použít i jako knihovna a vyzobat si jenom to, co člověk potřebuje - jsou věci, který bych si sám psát nechtěl, a ty můžu ukrást od nich, ale na druhou stranu jsou věci, který se mi úplně nelíbí, jak mají udělaný, a ty prostě použít nemusím...
Název: Re:Trendy v PHP
Přispěvatel: alfi 18. 08. 2022, 08:50:50
V php už řadu let vládne composer (konečně nepotřebuje X GB RAM na update, ale zároveň přinese aktualizační závislosti až nemožnost aktualizovat kvůli nějaké mini knihovně bez údržby). Přibývá Symfony balíčků a je fajn, že se dají vybírat samostatně. Jakž takž fungujou upgrady mezi major Symfony verzema (předchozí verze hlásí deprecated, než něco zmizí). Databáze se čtou přes Doctrine, i když to není zrovna výkonově efektivní a je třeba to dohánět cachováním. Mně se líbí generátory typu Sonata admin nebo Api platform, Symfony je dneska i v řadě hotových aplikací (Drupal, phpbb, Opencart..), nicméně na frontendech se víc prosazuje nodejs (s IMHO výrazně horším balíčkováním, chováním major verzí, třema různýma package managery nebo chybovýma hláškama, které nic neřeknou..), viz Webpack v Symfony, ale taky "admin" u toho Api platform. Nějakou zásadní výhodu php8 jsem nezaznamenal, jen 7.4 skončí v listopadu podpora. Jako všude jinde se i tady prosazuje dockerizace a automatizace deploy z gitu, Doctrine migrations apod., jen s každým novým nástrojem se člověk musí napřed naučit aspoň trochu pracovat :)

Jako clovek co skoncil nekde u PHP6 bych taky ocenil nejaky souhrn jak programovat moderne.
...
Frameworky me ale nezajimaj.. holt mam svuj vlastni svet :P

Docela by mě zajímalo, co přesně jsi v tom php6 dělal :) https://ma.ttias.be/php6-missing-version-number/ a taky, jak se ten "můj svět bez frameworků" předává k dalšímu vývojáři - máš k tomu i detailní dokumentaci nebo kdokoliv jiný je ztracen v překladu a bojí se do toho hrábnout? :)
Název: Re:Trendy v PHP
Přispěvatel: robin martinez 18. 08. 2022, 09:14:13
ja bych veril, ze delal v PHP6, kdyz na nej dokonce vysla oficialni prirucka :D


https://www.grada.cz/php-6-5958/ (https://www.grada.cz/php-6-5958/)
Název: Re:Trendy v PHP
Přispěvatel: Wangarad 18. 08. 2022, 10:59:04
alfi mne zasa pride take chore presny opak. Bez frameworku a super composeru ani ranu lebo to je trendy a cool. Kod na "mieru" s dokumentaciou co je samozrejme alfa a omega. Taky frajerkovia ako ty ze len framework a da vsetko to su taky "docasnickovia" ktory aj tak nedokazu upravit/spracovat projekt bez dokumentacie pokial to nie je 100% podla frameworku a zazil som 3 hned po skole ze oni idu len Laravel a ked som si pozrel kod a ako by to malo byt tak to bolo dost prasenie aj toho Laravelu. Na otazku preco to nie je ako by malo byt bola klasicka odpoved - ide to? ide tak potom coje tvoj problem ved to je Laravel to dojde po mne hocikto a upravy to za par minut.
Název: Re:Trendy v PHP
Přispěvatel: RDa 18. 08. 2022, 11:53:26
Jako clovek co skoncil nekde u PHP6 bych taky ocenil nejaky souhrn jak programovat moderne.
...
Frameworky me ale nezajimaj.. holt mam svuj vlastni svet :P

Docela by mě zajímalo, co přesně jsi v tom php6 dělal :) https://ma.ttias.be/php6-missing-version-number/ a taky, jak se ten "můj svět bez frameworků" předává k dalšímu vývojáři - máš k tomu i detailní dokumentaci nebo kdokoliv jiný je ztracen v překladu a bojí se do toho hrábnout? :)

Tim PHP6 nazyvam to co vyslo v 2009 jako 5.3, tj. s podporou namespaces, ktere v puvodni 5.0 z 2004 nebylo, viz:
https://en.wikipedia.org/wiki/PHP#Release_history ... ty verze moc neresim, protoze pouzivam jen zakladni konstrukce, ne to co nove zrovna pridali (aka stareho psa novym vecem nenaucis). Ale ted nedavno mi upgrade verze nejake starsi skripty rozbil a musel jsem to resit explicitne - zahozeni podpory adresovani znaku z retezce skrze { }, nahrazeno s [ ].

Muj svet je muj. Neni potreba to predavat dalsimu vyvojari. Je to sada trid, ktere nemaji s webem nic spolecneho. Preferuji self-documenting code, tj. spravne pojmenovane tridy a metody, nepouzivani optimalizaci ktere kod zprasi do necitelne podoby jen pro kousek vykonu. Takze clovek pise tak, aby to par letech kdyz to otevre, uz od pohledu videl co a jak to dela.

Aplikacni zamereni mam na vyvoj elektroniky, firmwaru, zpracovani videa, souborove formaty, kodeky. Veskery proof-of-concept a reverzni inzenyrstvi, je skriptovano v PHP, protoze clovek muze resit jadro pudla a ne se hodiny hadat s prekladacem, runtimem, IDE, OS a dokumentaci, protoze porad neco nefunguje a nelze udelat. Vetsina trid reprezentuje elementarni stavebni prvky z teto oblasti, nez aby resila konkretni problem, takze ta znovupouzitelnost je maximalni - cokoliv co pisu je novy kod, ktery stavi na existujicim. Zadny copy-paste reseni mezi projektama - nejsou to totiz projekty, je to jeden velky pomocnik k tomu cemu se venuji. Takovej muj toolbox, nez trvale bezici aplikace/sluzba.

Ja jsem programator / vyvojar, ne lepic reseni z frameworku.
Název: Re:Trendy v PHP
Přispěvatel: to_je_jedno 18. 08. 2022, 14:47:20
Frameworky me ale nezajimaj.. holt mam svuj vlastni svet :P
radost po tobe jednou prebrat nejaky projekt Mr Genius.
Název: Re:Trendy v PHP
Přispěvatel: to_je_jedno 18. 08. 2022, 14:48:09
Symfony, Laravel z tech vetsich. V CR stale asi jednoznacne nette
nette je asi fajn pokud se chce clovek zavrit do malicke zahradky zvane ČR, ale jinak nedava smysl kdyz je tady Symfony.
Název: Re:Trendy v PHP
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 18. 08. 2022, 18:26:35
Jako clovek co skoncil nekde u PHP6 bych taky ocenil nejaky souhrn jak programovat moderne.
...
Frameworky me ale nezajimaj.. holt mam svuj vlastni svet :P

Docela by mě zajímalo, co přesně jsi v tom php6 dělal :) https://ma.ttias.be/php6-missing-version-number/ a taky, jak se ten "můj svět bez frameworků" předává k dalšímu vývojáři - máš k tomu i detailní dokumentaci nebo kdokoliv jiný je ztracen v překladu a bojí se do toho hrábnout? :)

Tim PHP6 nazyvam to co vyslo v 2009 jako 5.3, tj. s podporou namespaces, ktere v puvodni 5.0 z 2004 nebylo, viz:
https://en.wikipedia.org/wiki/PHP#Release_history ... ty verze moc neresim, protoze pouzivam jen zakladni konstrukce, ne to co nove zrovna pridali (aka stareho psa novym vecem nenaucis). Ale ted nedavno mi upgrade verze nejake starsi skripty rozbil a musel jsem to resit explicitne - zahozeni podpory adresovani znaku z retezce skrze { }, nahrazeno s [ ].

Muj svet je muj. Neni potreba to predavat dalsimu vyvojari. Je to sada trid, ktere nemaji s webem nic spolecneho. Preferuji self-documenting code, tj. spravne pojmenovane tridy a metody, nepouzivani optimalizaci ktere kod zprasi do necitelne podoby jen pro kousek vykonu. Takze clovek pise tak, aby to par letech kdyz to otevre, uz od pohledu videl co a jak to dela.

Aplikacni zamereni mam na vyvoj elektroniky, firmwaru, zpracovani videa, souborove formaty, kodeky. Veskery proof-of-concept a reverzni inzenyrstvi, je skriptovano v PHP, protoze clovek muze resit jadro pudla a ne se hodiny hadat s prekladacem, runtimem, IDE, OS a dokumentaci, protoze porad neco nefunguje a nelze udelat. Vetsina trid reprezentuje elementarni stavebni prvky z teto oblasti, nez aby resila konkretni problem, takze ta znovupouzitelnost je maximalni - cokoliv co pisu je novy kod, ktery stavi na existujicim. Zadny copy-paste reseni mezi projektama - nejsou to totiz projekty, je to jeden velky pomocnik k tomu cemu se venuji. Takovej muj toolbox, nez trvale bezici aplikace/sluzba.

Ja jsem programator / vyvojar, ne lepic reseni z frameworku.

jasne, casto je rychlejsi nejakou vec napsat sam nez cist dokumentaci k frameworku a pouzit reseni otestovane a zkontrolovane vyvojari, kteri o webovych aplikacich a potencialnich zranitelnostech zarucene vedi vic nez Vy.
Název: Re:Trendy v PHP
Přispěvatel: RDa 18. 08. 2022, 22:07:06
jasne, casto je rychlejsi nejakou vec napsat sam nez cist dokumentaci k frameworku a pouzit reseni otestovane a zkontrolovane vyvojari, kteri o webovych aplikacich a potencialnich zranitelnostech zarucene vedi vic nez Vy.

#1: Nedelam webove aplikace! PHP pouzivam na CLI, muj kod ma format utilit.

#2: O urovni bezpecnosti jakehokoliv frameworku vypovida historie. Pro bezpecne reseni je rozhodne lepsi NEpouzit existujici framework. Mene include, mene der. Prosta matematika.

Název: Re:Trendy v PHP
Přispěvatel: Rike 18. 08. 2022, 22:39:22
Jen drobnost - Laravel používá části Symfony.
Osobně bych doporučil Laravel. Způsob, jak v něm vkusně a přitom efektivně řešit donekonečna se opakující ty samé úlohy je i po letech prostě zábavný. Práce Taylora Otwella a jeho spolupracovníků nejen vývojáři pomáhá, ale i ho pobaví.
Název: Re:Trendy v PHP
Přispěvatel: BoneFlute 18. 08. 2022, 23:19:35
Určitě composer. Plus https://packagist.org/
V jazyku přišli nové featury, konkrétně typy, enum, traity, anotace (co zrovna mě hodně potěšilo).
Komunita celkem uzrála, a tvoří se podle bestpractice. Lidi znají SOLID prinicipy, a neřeší tolik návrhové vzory, dohadují se o tom, jak to dobře psát. Celkem fajn.
Z frameworků:
- Nette - je architektonicky špička, a dost tlačí cosi jako NetteWay - "nepřehánět to s tou akademičností".
- Laravel - je zase architektonicky těžko říct, moc se s tím nemaže, a každá špína dobrá. Něco jako Vrána na sterioidech.
- Symfony - je ideový nástupce Zend Frameworku - spoustu celkem kvalitního, často příliš akademickýho, architektonicky špičkového kódu. Takovej suchar.
Název: Re:Trendy v PHP
Přispěvatel: Rike 18. 08. 2022, 23:23:32
V jazyku přišli nové featury, konkrétně typy, enum, traity, anotace (co zrovna mě hodně potěšilo).
Anotace pro reflexi ok, ale často se to dost přehání a je víc kódu nad metodou než v ní.

Jinak mi teda chybí, a to ukrutně, generiky. A prý ani nebudou.
Název: Re:Trendy v PHP
Přispěvatel: snugar_i 19. 08. 2022, 07:27:29
Jinak mi teda chybí, a to ukrutně, generiky. A prý ani nebudou.
To o anotacích (teda pardon, atributech) tvrdili taky :-) Podle mě budou, ale bude to ještě dost dlouho trvat. Ono když jeden ze základních datových typů je "něco mezi polem a hashmapou", tak chápu, že se jim do toho moc nechce...
Název: Re:Trendy v PHP
Přispěvatel: user398 19. 08. 2022, 08:53:45
- Symfony - je ideový nástupce Zend Frameworku - spoustu celkem kvalitního, často příliš akademickýho, architektonicky špičkového kódu. Takovej suchar.

Nastupcom ZF je Laminas(+Mezzio).
Název: Re:Trendy v PHP
Přispěvatel: oss 19. 08. 2022, 09:27:25
Určitě composer. Plus https://packagist.org/
V jazyku přišli nové featury, konkrétně typy, enum, traity, anotace (co zrovna mě hodně potěšilo).
Komunita celkem uzrála, a tvoří se podle bestpractice. Lidi znají SOLID prinicipy, a neřeší tolik návrhové vzory, dohadují se o tom, jak to dobře psát. Celkem fajn.


Co si pametam, tak vsetci PHP-ckari hovorili, ze take veci nepotrebuju a len by ich zdrzovali.

No s toho ctu pisete mam pocit, ze sa PHP dostava do stavu "Java pred 15-timi rokmi", ale myslim, ze to caka aj Node.js ekosystem.


Co sa tyka komunity, tak to som dost sklamany. Poradili mi tu Synfony a ked pozeram ceske weby tak nic moc. A hlavne mam pocit, ze ta komunita je strasne toxicka, vsade, kde je Synfony nabehnu ludia od Nette a naopak. A zasnu sa tam hadat o hlupostich.

No tiez ma zaujima aj to ake temy riesia PHP-ckari, nie len to co robia.
Název: Re:Trendy v PHP
Přispěvatel: alfi 19. 08. 2022, 09:34:16
alfi mne zasa pride take chore presny opak. Bez frameworku a super composeru ani ranu lebo to je trendy a cool. Kod na "mieru" s dokumentaciou co je samozrejme alfa a omega. Taky frajerkovia ako ty ze len framework a da vsetko to su taky "docasnickovia" ktory aj tak nedokazu upravit/spracovat projekt bez dokumentacie pokial to nie je 100% podla frameworku a zazil som 3 hned po skole ze oni idu len Laravel a ked som si pozrel kod a ako by to malo byt tak to bolo dost prasenie aj toho Laravelu. Na otazku preco to nie je ako by malo byt bola klasicka odpoved - ide to? ide tak potom coje tvoj problem ved to je Laravel to dojde po mne hocikto a upravy to za par minut.
Nj, zprasit kód bez komentářů se dá s frameworkem i bez :)

I já jsem kdysi "nadával" na balíčky a závislosti - pak jsem si zkusil pár větších projektů vyrobit, předat dál, po někom převzít, nabrat spolupracovníky - a musím uznat, že to stojí za to, i přes nějaké komplikace, které to přinese. Velkým bonusem je štábní kultura, kterou framework mimochodem vynutí, tj. základní prvky se jmenujou stejně, jsou na očekávaném místě, mají očekávané chování apod. Už jen použití composeru hodně zjednoduší přehled o cizí aplikaci, ať už s frameworkem nebo bez něj.

Kolik takových složitějších aplikací, kde je potřeba práce v týmu, jsi vyrobil, prodal nebo někomu předal a co na to říkali ti další autoři? :-)  Já aktuálně udržuju-přepisuju několik samo-domo frameworků s minimem dokumentace a můžu říct, že je to peklo, člověk se do toho bojí hrábnout, protože každý znak může dělat něco nechtěného, upgrade na major verzi php často znamená úpravy v polovině kódu.. Netvrdím, že bez composeru ani ránu - tvrdím jen, že pro více spolupracujících autorů i pro efektivnější-rychlejší práci jednoho má composer + hotové knihovny + nějaký ten framework hodně smysl. Vyrábět vlastní klon Api platform nebo Doctrine se nikdy nezaplatí a dělat třeba phpbb ve spoustě lidí bez frameworku a štábní kultury je dneska dost nereálné :)
Název: Re:Trendy v PHP
Přispěvatel: robin martinez 19. 08. 2022, 10:45:22
Citace
Nj, zprasit kód bez komentářů se dá s frameworkem i bez :)


pod to se musim podepsat, bohuzel si to mnoho 'vyvojaru' neuvedomuje a jak s fw, tak bez nej si mysli, ze maji skvely kod  ::)
Název: Re:Trendy v PHP
Přispěvatel: to_je_jedno 19. 08. 2022, 10:48:21
No tiez ma zaujima aj to ake temy riesia PHP-ckari, nie len to co robia.
Docker, Gitlab CI, AWS...
Název: Re:Trendy v PHP
Přispěvatel: Rike 19. 08. 2022, 11:09:33
Co sa tyka komunity, tak to som dost sklamany. Poradili mi tu Synfony a ked pozeram ceske weby tak nic moc. A hlavne mam pocit, ze ta komunita je strasne toxicka, vsade, kde je Synfony nabehnu ludia od Nette a naopak. A zasnu sa tam hadat o hlupostich.
No v dnešní době se víceméně očekává, že všichni programátoři ovládají nějakým způsobem angličtinu, proto jsou hlavní komunity mezinárodní a nemá moc smysl hledat něco v malém českém rybníčku. Možná tou výjimkou je Nette, ale stran Laravelu či Symfony bych hledal spíš mezinárodní Discord/Slack atp.

Citace
No tiez ma zaujima aj to ake temy riesia PHP-ckari, nie len to co robia.
Lidi se spíš seskupují kolem těch zmíněných frameworků a tam občas řeší i obecnější věci. PHP svět je dost frameworkizován. Důvod je asi nasnadě. Ty základní frameworky jsou tak dobré, že nemá smysl vymýšlet kolo. A můžete klidně použít jen set knihoven, ne celý framework. Laravel například má kolem sebe celý ekosystém včetně CMF/CMS, dokonce jsou tam full-stack featury v podobě Livewire, což je hrozně návykové a nemáte pak vůbec důvod tento způsob práce měnit. Můžete jít i do šířky, takže Docker, bash na jedné straně, Vue.js, Svelte, React na druhé.
Název: Re:Trendy v PHP
Přispěvatel: jano6 19. 08. 2022, 11:45:53
Add Symfony. Mne teda hrozne vadí ideologicácia tohto projektu. Tvoria ho zrejme ultraleft freeks. Teraz tam pchajú heslá o Ukrajine, ale o Donbasse, Yemene, Lýbii či Afganistane nič.

Predtým to bolo black live matters. Dokonca zo svojich stickerov tam čo majú odstraňovali belošské tváre. Vo svojej posadnutosti došli tak ďaleko, že majú nejakú grupu ktorá monitoruje správanie (zrejme najmä chlapov) počas konferencíí, či sa nevhodne nesprávajú. Potom o tom dávajú reporty. No a tak. Čistý úlet.

Majte si svoje vyhranejé názory, aké chcete, ale nepchajte ich do IT prostredia. Pre toto Symfony nikdy viac.
Název: Re:Trendy v PHP
Přispěvatel: robin martinez 19. 08. 2022, 12:05:49
tahle myslenka politickych kecu v open source mi taky leze na nervy. Spustim composer update a hned tam v cli blika 'Stand for ukraine' nebo tak. Bohuzel mi prijde, ze toho je cimdal vic. V JS svete to je snad jeste horsi
Název: Re:Trendy v PHP
Přispěvatel: Rike 19. 08. 2022, 13:16:04
Souhlasím, toho svinstva je všude čím dál víc. Já mám jedinou kliku v tom, že můj hlavní pracovní nástroj má dost velkou ruskou komunitu, takže je raději ve všech podobných otázkách ticho a drží se etika naprosté apolitičnosti.

Ono se nám to může i pěkně vymstít, až bude autorem nějakého klíčového nástroje třeba Laosan, a bude nám tam tlačit #DontSpendTheMostOfWorldSourcesYouFatWesternPigs.
Název: Re:Trendy v PHP
Přispěvatel: schrapnel 19. 08. 2022, 13:36:17
jasne, casto je rychlejsi nejakou vec napsat sam nez cist dokumentaci k frameworku a pouzit reseni otestovane a zkontrolovane vyvojari, kteri o webovych aplikacich a potencialnich zranitelnostech zarucene vedi vic nez Vy.

#1: Nedelam webove aplikace! PHP pouzivam na CLI, muj kod ma format utilit.

#2: O urovni bezpecnosti jakehokoliv frameworku vypovida historie. Pro bezpecne reseni je rozhodne lepsi NEpouzit existujici framework. Mene include, mene der. Prosta matematika.

Tak to už vôbec nie. Security by obscurity?
Verejný open-source kód je 1000x viac auditovaný a 1000x bezpečnejší ako nejaká na kolene napísaná "utajená" spatlanina, ktorá v najlepšom prípade prešla code review jedným človekom.
Název: Re:Trendy v PHP
Přispěvatel: RDa 19. 08. 2022, 14:22:23
jasne, casto je rychlejsi nejakou vec napsat sam nez cist dokumentaci k frameworku a pouzit reseni otestovane a zkontrolovane vyvojari, kteri o webovych aplikacich a potencialnich zranitelnostech zarucene vedi vic nez Vy.

#1: Nedelam webove aplikace! PHP pouzivam na CLI, muj kod ma format utilit.

#2: O urovni bezpecnosti jakehokoliv frameworku vypovida historie. Pro bezpecne reseni je rozhodne lepsi NEpouzit existujici framework. Mene include, mene der. Prosta matematika.

Tak to už vôbec nie. Security by obscurity?
Verejný open-source kód je 1000x viac auditovaný a 1000x bezpečnejší ako nejaká na kolene napísaná "utajená" spatlanina, ktorá v najlepšom prípade prešla code review jedným človekom.

Rikejte si co chcete, ale pocet exploitovanych WordPresu a FCKeditor-u mluvi za sve. Nechci tohle svinstvo na svem stroji.

Jestli si neko da namahu se 0day explitaci jedine me obskurni instance, budiz mu to prano - ale dnesni hrozby nastesti jeste neprovadi AI, ale boti co jedou podle sablony na known vulnerabilities.

Vzdy budu verit vice svemu kodu nez cizimu. A jestli s tim nesouhlasite, klidne si vy poustejte random binarky a skripty z netu, prece vam nic nehrozi dle vaseho presvedceni :-)
Název: Re:Trendy v PHP
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 19. 08. 2022, 14:39:08
jasne, casto je rychlejsi nejakou vec napsat sam nez cist dokumentaci k frameworku a pouzit reseni otestovane a zkontrolovane vyvojari, kteri o webovych aplikacich a potencialnich zranitelnostech zarucene vedi vic nez Vy.

#1: Nedelam webove aplikace! PHP pouzivam na CLI, muj kod ma format utilit.

#2: O urovni bezpecnosti jakehokoliv frameworku vypovida historie. Pro bezpecne reseni je rozhodne lepsi NEpouzit existujici framework. Mene include, mene der. Prosta matematika.

Tak to už vôbec nie. Security by obscurity?
Verejný open-source kód je 1000x viac auditovaný a 1000x bezpečnejší ako nejaká na kolene napísaná "utajená" spatlanina, ktorá v najlepšom prípade prešla code review jedným človekom.

Rikejte si co chcete, ale pocet exploitovanych WordPresu a FCKeditor-u mluvi za sve. Nechci tohle svinstvo na svem stroji.

Jestli si neko da namahu se 0day explitaci jedine me obskurni instance, budiz mu to prano - ale dnesni hrozby nastesti jeste neprovadi AI, ale boti co jedou podle sablony na known vulnerabilities.

Vzdy budu verit vice svemu kodu nez cizimu. A jestli s tim nesouhlasite, klidne si vy poustejte random binarky a skripty z netu, prece vam nic nehrozi dle vaseho presvedceni :-)

kdyz se najde chyba ve wordpresu, tak se o tom pise. Kdyz nekdo hackne nejaky amatersky slepenec, tak se o tom nedoctete, prestoze je to pro utocniky snadnejsi.
Název: Re:Trendy v PHP
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 19. 08. 2022, 14:45:14
tahle myslenka politickych kecu v open source mi taky leze na nervy. Spustim composer update a hned tam v cli blika 'Stand for ukraine' nebo tak. Bohuzel mi prijde, ze toho je cimdal vic. V JS svete to je snad jeste horsi

me vadi i ukrajinske vlajecky v profilech. Opravdovi patrioti bojuji na fronte. Zbabelci bojuji na twitteru za to aby druzi umirali za jejich zvracene "hodnoty". Podle vykorenenych kosmopolitu je ceska vlajka symbol nenavisti, ukrajinska vlajka nevadi.
Název: Re:Trendy v PHP
Přispěvatel: Rike 19. 08. 2022, 14:49:31
To zhodnocení rizik je trochu individuální.
Když vím, že zákazník na svém nicotném webíku nebude ten Wordpress aktualizovat, takže bude mít časem vysoce pravděpodobně děravou verzi, na kterou se zaměřují mraky botů, tak bych mu skoro nainstaloval svůj produkt, který je podle mého nejlepšího vědomí a svědomí zabezpečen a odladěn, protože hacker nebude vynakládat tolik úsilí na jeho individuální prolomení kvůli nicotnosti webíku. Potud asi teoreticky dobrý.

Prakticky to ale bude tak, že tam ten WP bude, protože ho dokáže ovládat každý, případně si na to koupí kurz, jsou k tomu šablony a návody aj. a já jen do smlouvy dám, že se zříkám odpovědnosti za produkty třetích stran (jmenovitě...) a potenciální škody plynoucí z jejich užívání (s důrazem na nutnost aktualizovat).
Název: Re:Trendy v PHP
Přispěvatel: RDa 19. 08. 2022, 15:30:30
Prakticky to ale bude tak, že tam ten WP bude, protože ho dokáže ovládat každý, případně si na to koupí kurz, jsou k tomu šablony a návody aj. a já jen do smlouvy dám, že se zříkám odpovědnosti za produkty třetích stran (jmenovitě...) a potenciální škody plynoucí z jejich užívání (s důrazem na nutnost aktualizovat).

A tohle je presne jadro pudla - lepici a bastlici pouziji framework treti strany a zreknou se odpovednosti, takze pokud Mana z horni dolni co si necha udelat webik a nebude platit pausal nekomu, protoze sama si aktualizace neuhlida/nenainstaluje, tak to dopadne tim, ze bude mit naborenej web a zkazenej biznis.

Oproti tomu v reseni "jakkoliv deravem", psane dodavatelem, se odpovednosti zrict nemuzete, takze si date sakra zalezet, aby vas zakaznik pak nezruinoval na opravach a nesiril o vas negativni recenze. A tohle plati jak u reseni porizenem externe, tak i u internich procesu spravne fungujici "korporace".

Navic kvalita/bezpecnost se uhlida lepe v jednom cloveku, ktery nema terminy.. nez hromade opic, nad kteryma svisti bic od sefa.

Stejne jako muj nazor na cely sw a web development svet je, ze jsou to dnes totalni luzri (vykon, bezpecnost, atd) a tezko mi to vyvrati - tak nebudu vyvracet vase mineni o me. Clovek si vzdy veri nejvice sam sobe a nazdar. Co se musi porizovat od ciziho, musi byt opravdu poradne zduvodnene, a nesmi to byt nejaky lepic co jede smlouvy ja nic, ja muzikant. Dejte mi garence, nebo f*ck off.
Název: Re:Trendy v PHP
Přispěvatel: BoneFlute 19. 08. 2022, 16:21:23
V jazyku přišli nové featury, konkrétně typy, enum, traity, anotace (co zrovna mě hodně potěšilo).
Anotace pro reflexi ok, ale často se to dost přehání a je víc kódu nad metodou než v ní.
Anotace mají zajímavou vlastnost v tom, že jsou deklarativní. Tedy jiný přístup k "programování". Někdo (třeba já) by mohl říct, že čím víc deklarativního kódu tím lépe  :)
Název: Re:Trendy v PHP
Přispěvatel: Idris 19. 08. 2022, 16:26:29
čím víc deklarativního kódu tím lépe
Svatá pravda.
Název: Re:Trendy v PHP
Přispěvatel: Rike 19. 08. 2022, 16:45:28
Imperativní programování FTW!  :P
Název: Re:Trendy v PHP
Přispěvatel: oss 30. 08. 2022, 08:00:34
Pozeralsom si par prednasok o PHP, a stale mam pocit, ze riesia veci, ktore ine jazyky nemusia, alebo ktore su tam uz samozrejmost 15 rokov (anotacie, dlhsi beh programu, workry,...). ORM, ktore sa ani nepodoba na ORM, lebo si tam to SQL-ko musi napisat clovek skoro cele sam  - Doctrine, IoC co moc nefunguje a tak.

Cakal som, ze za tie roky sa to dakam posunulo, no okrem toho, ze sa zacali pouzivat namespace sa to vsetko zacalo komplikovat a zrazu treba na uplne kazdej kravine pouzivat cli.
Název: Re:Trendy v PHP
Přispěvatel: Ħαℓ₸℮ℵ ␏⫢ ⦚ 30. 08. 2022, 09:20:14
Citace
čím víc deklarativního kódu tím lépe
Svatá pravda.
imperaticní programování ftw
Žádné programování, jen psaní konfigurace a deklarace  ( alá docker-compose.yml atd)! A ještě sloučení konfiguráků různých projektů jednoho autora do jednoho co vládne všem.
ideálně narvat veškerou konfiguraci světa do jednoho souboru world.conf, kde bude vše cose týče It
Název: Re:Trendy v PHP
Přispěvatel: BoneFlute 05. 09. 2022, 22:51:44
Pozeralsom si par prednasok o PHP, a stale mam pocit, ze riesia veci, ktore ine jazyky nemusia, alebo ktore su tam uz samozrejmost 15 rokov (anotacie, dlhsi beh programu, workry,...). ORM, ktore sa ani nepodoba na ORM, lebo si tam to SQL-ko musi napisat clovek skoro cele sam  - Doctrine, IoC co moc nefunguje a tak.

Cakal som, ze za tie roky sa to dakam posunulo, no okrem toho, ze sa zacali pouzivat namespace sa to vsetko zacalo komplikovat a zrazu treba na uplne kazdej kravine pouzivat cli.

A které ine jazyky máš třeba na mysli? Já jsem před časem začal pracovat na projektech v C#, a teda mé zklamání by se dalo krájet.
PHP je samozřejmě bastl, to nikdo nepopírá. Ale postupně se vypracovává, a dneska umí prakticky to samé, co C#, Java, Python. Pokud se člověk nepřesune do jiného levelu jazyků, jako Haskel, Skala, Rust - tak je to všechno cca různý odstín modré.
Název: Re:Trendy v PHP
Přispěvatel: oss 06. 09. 2022, 07:52:43
Ale postupně se vypracovává, a dneska umí prakticky to samé, co C#, Java, Python.
To je dost silne tvrdenie, hlavne ked veci co som vymenoval maju uz 15 rokov C# aj java vyriesene milionkrat lepsie. Repktive to tam programator nemusi riesit a proste to funguje.


Pokud se člověk nepřesune do jiného levelu jazyků, jako Haskel, Skala, Rust - tak je to všechno cca různý odstín modré.
Co sa taky Rustu, ten ma tiez svoje problemy, na ktore ale clovek pride ked s nim zacne robit. A taky Haskell sa mi velmi paci je cisty, ale na moc veci sa nehodi a este menej sa pouziva.
Název: Re:Trendy v PHP
Přispěvatel: wsh wsh 06. 09. 2022, 14:05:18
Ale postupně se vypracovává, a dneska umí prakticky to samé, co C#, Java, Python.
To je dost silne tvrdenie, hlavne ked veci co som vymenoval maju uz 15 rokov C# aj java vyriesene milionkrat lepsie. Repktive to tam programator nemusi riesit a proste to funguje.
i sa nehodi a este menej sa pouziva.

Ty jiné jazyky si hlavně nenesou tak šílenou zátěž špatného návrhu a mizerné základní knihovny jako php, kde stále ještě spousta knihovních funkcí vrací nulu nebo false při chybě místo, aby vyhodily výjimku. Existuje externí knihovna, která to zkouší řešit, ale při mém zkoušení nefungovala: https://thecodingmachine.io/introducing-safe-php

Také mě překvapilo, že v php není ani tak základní věc jako datový typ pro datetime, takže na projektu, kde jsem dělal, se používaly rovnou tři in-house knihovny pro práci s časem, každá nedomrlá svým způsobem. Navíc v php nejdou přetížit operátory, takže třeba pythonovské datetime(year=2010,month=1,day=1) + timedelta(minutes=60) si ani sám nemůžeš implementovat a u nás se to řešilo podivnými funkcemi jako TimeStamp->addSeconds().

Co mi ale přijde nejhorší, je komunita kolem Nette, které má potřebu ignorovat okolní svět a všechno si dělat samo. Takže máme sice phpUnit, ale Nette si vyvíjí vlastní Tester, který má možná nějaké drobné fíčurky navíc, ale chybí podpora v IDE (polofunkční plugin do PhpStormu nepočitám) a testy v debuggeru si prostě jednoduše nepustíš. Podpora pro NEON v IDE - jde, ale zaplať si propietární plugin. Atd.

Přijde mi, že PHP jde celkem dobrým směrem (třeba typová kontrola a phpstan jsou fajn), ale staví na tak špatných základech, že mě osobně dává větší smysl věnovat se jiným jazykům.
Název: Re:Trendy v PHP
Přispěvatel: Idris 06. 09. 2022, 15:25:38
Co sa taky Rustu, ten ma tiez svoje problemy, na ktore ale clovek pride ked s nim zacne robit
Co například?
Název: Re:Trendy v PHP
Přispěvatel: BoneFlute 06. 09. 2022, 16:47:34
Ale postupně se vypracovává, a dneska umí prakticky to samé, co C#, Java, Python.
To je dost silne tvrdenie, hlavne ked veci co som vymenoval maju uz 15 rokov C# aj java vyriesene milionkrat lepsie. Repktive to tam programator nemusi riesit a proste to funguje.

Zkrátím to: Prostě toto tvé tvrzení rozporuju ve všech bodech obžaloby 1.

Chtěl jsem tu napsat nějakou podrobnější odpověď, ale asi to nikoho nezajímá, takže na to kašlu. Prostě nemáš pravdu, to je vše.


1/ Bavíme se o tom, že to má C# (sic), nebo Java vyriesene milionkrat lepsie. To, že s tím (minimálně Java) přišla dřív nikdo nerozporuje. Ale taky nezajímá. Počítá se tady a teď.
Název: Re:Trendy v PHP
Přispěvatel: BoneFlute 06. 09. 2022, 17:11:35
Také mě překvapilo, že v php není ani tak základní věc jako datový typ pro datetime,
https://www.php.net/manual/en/class.datetime.php


Co mi ale přijde nejhorší, je komunita kolem Nette, které má potřebu ignorovat okolní svět
Nette dost spolupracuje se Symfony, různě si vypůjčují nápady i řešení. IMHO mnoho řešení ze Symfony jsou příliš akademická či nedotažená (třeba Symfony/Console mě nehorázně irituje). Každopádně obě skupiny dobře spolupracují, aby si neházeli klacky pod nohy.


Co mi ale přijde nejhorší, je komunita kolem Nette, které má potřebu ignorovat okolní svět a všechno si dělat samo. Takže máme sice phpUnit, ale Nette si vyvíjí vlastní Tester,
Tak já třeba Tester ignoruju, vesele používám PHPUnit, a nijak mě neuráží, že Nette má svoje vlastní řešení. Kdo jsem abych jim kecal do jejich štěstí.
Název: Re:Trendy v PHP
Přispěvatel: wsh wsh 06. 09. 2022, 17:58:11
https://www.php.net/manual/en/class.datetime.php

Musím se podívat, proč to kolegové reimplementují, ale počítám, že nějaký vážný důvod to má. Každopádně počítám, že porovnávat to nejde, takže třeba triviální max($datetime1, $datetime2, $datetime3) neuděláš.


Tak já třeba Tester ignoruju, vesele používám PHPUnit, a nijak mě neuráží, že Nette má svoje vlastní řešení. Kdo jsem abych jim kecal do jejich štěstí.

Akorát, když otevřeš dokumentaci Nette, tak tam najdeš jen Tester. A když chceš testovat presentery, musíš si to napsat sám, ani dokumentace ti nepomůže. Když potřebuješ v testech DB, jsi nahraný a píšeš si sám celé řešení pro bootstrap databáze a pro pouštění testů v transakcích.

PHP jako celek mi moc nepřirostlo k srdci, ale když už, tak třeba Laravel má komplet řešení (https://laravel.com/docs/5.7/database-testing), Symfony má řešení (https://symfony.com/doc/current/testing/database.html), ale v Nette si každý prošlapává svojí cestu sám a objevuje stokrát vymyšlené kolo.

Možná jsem měl jen smůlu, ale ve dvou různých firmách jsem potkal dva (a ne triviálně malé) Nette projekty a v obou to byla zoufalost, věci fungující v jiných frameworcích out-of-the box (autentizace, lokalizace, testy) řešené nějakými vlastními polofunkčními konstrukcemi.

A nejhorší je, že mimo náš píseček, to vlastně nikdo nepoužívá. Integrace Sentry - jen Laravel a Symfony, Loggly - opět Laravel a Sentry, atd. Nic nevygooglíš, nic ti nikdo nepřipravil, pořád řešíš nějaké technikálie místo práce na byznys zadání.
Název: Re:Trendy v PHP
Přispěvatel: Patek13 06. 09. 2022, 22:37:30
Ty jiné jazyky si hlavně nenesou tak šílenou zátěž špatného návrhu a mizerné základní knihovny jako php, kde stále ještě spousta knihovních funkcí vrací nulu nebo false při chybě místo, aby vyhodily výjimku. Existuje externí knihovna, která to zkouší řešit, ale při mém zkoušení nefungovala: https://thecodingmachine.io/introducing-safe-php

Také mě překvapilo, že v php není ani tak základní věc jako datový typ pro datetime, takže na projektu, kde jsem dělal, se používaly rovnou tři in-house knihovny pro práci s časem, každá nedomrlá svým způsobem. Navíc v php nejdou přetížit operátory, takže třeba pythonovské datetime(year=2010,month=1,day=1) + timedelta(minutes=60) si ani sám nemůžeš implementovat a u nás se to řešilo podivnými funkcemi jako TimeStamp->addSeconds().

Co mi ale přijde nejhorší, je komunita kolem Nette, které má potřebu ignorovat okolní svět a všechno si dělat samo. Takže máme sice phpUnit, ale Nette si vyvíjí vlastní Tester, který má možná nějaké drobné fíčurky navíc, ale chybí podpora v IDE (polofunkční plugin do PhpStormu nepočitám) a testy v debuggeru si prostě jednoduše nepustíš. Podpora pro NEON v IDE - jde, ale zaplať si propietární plugin. Atd.

Přijde mi, že PHP jde celkem dobrým směrem (třeba typová kontrola a phpstan jsou fajn), ale staví na tak špatných základech, že mě osobně dává větší smysl věnovat se jiným jazykům.

Tohle je hodně výstižný komentář. Mě každý den na PHP nejvíce sere:
- Chybějící generika, hlavně jak se pak všechno zapisuje do komentáře. Navíc používáme 5.3 a 7.0, kde nejsou nativní anotace a neumí ani null typehint..
- Často potřebuju zřetězit volání .filter(..).map(..), jenže pole ani string není objekt, místo toho musím udělat více cyků za sebou nebo použít pomocnou třídu Collection::from(..)->filter(..)->map(..)->toArray()..
- array jako jeden typ pro hashmapu a list je zdrojem bugů

Prostě v PHP ještě není z historických důvodů vyřešeno to, co je jinde od začátku. I kombinace JS+TS je daleko mocnější. Osobně bych šel radší do C# a nebo Kotlinu, i když ten mi přijde trochu divočejší.

Dělám fulltime v Nette a líbí se mi, jak je lightweight oproti Symfony, ale vše je udělej si sám. Třeba aktuálně by se mi hodilo něco na tvorbu API, sice je tam Apitte, ale v něm nejde ani popsat pokročitejší otypovaná struktura.. Zatímco Symfony má API platform a vlastně vše je naservírováno a můžeš hned začít řešit byznys problém.
Název: Re:Trendy v PHP
Přispěvatel: BoneFlute 06. 09. 2022, 22:41:30
Tak já třeba Tester ignoruju, vesele používám PHPUnit, a nijak mě neuráží, že Nette má svoje vlastní řešení. Kdo jsem abych jim kecal do jejich štěstí.

Akorát, když otevřeš dokumentaci Nette, tak tam najdeš jen Tester. A když chceš testovat presentery, musíš si to napsat sám, ani dokumentace ti nepomůže. Když potřebuješ v testech DB, jsi nahraný a píšeš si sám celé řešení pro bootstrap databáze a pro pouštění testů v transakcích.
Nemohu potvrdit. Ale máš právo na svůj závěr.


PHP jako celek mi moc nepřirostlo k srdci, ale když už, tak třeba Laravel má komplet řešení (https://laravel.com/docs/5.7/database-testing), Symfony má řešení (https://symfony.com/doc/current/testing/database.html), ale v Nette si každý prošlapává svojí cestu sám a objevuje stokrát vymyšlené kolo.
Tak zrovna Laravel je ukázka toho jak to nedělat. To bych jako příklad moc nevytahoval. Dělá PHP ostudu. IMHO.


A nejhorší je, že mimo náš píseček, to vlastně nikdo nepoužívá. Integrace Sentry - jen Laravel a Symfony, Loggly - opět Laravel a Sentry, atd. Nic nevygooglíš, nic ti nikdo nepřipravil, pořád řešíš nějaké technikálie místo práce na byznys zadání.
V posledním PHP projektu, ke kterému mě přizvaly tak Sentry už bylo nasazené. Jako out-of-the-box rozšíření do Nette.
Pokud dám vyhledat v balíčcích, tak mi to přijde jako fajn: https://packagist.org/?query=nette&tags=sentry



Možná jsem měl jen smůlu, ale ve dvou různých firmách jsem potkal dva (a ne triviálně malé) Nette projekty a v obou to byla zoufalost, věci fungující v jiných frameworcích out-of-the box (autentizace, lokalizace, testy) řešené nějakými vlastními polofunkčními konstrukcemi.
Když jsem před časem nastoupil k projektům napsaných v C#, tak jsem měl taky poněkud větší očekávání. Tři projekty, který jsem dostal na starost, a prostě, asi jsem měl smůlu no.
Název: Re:Trendy v PHP
Přispěvatel: BoneFlute 06. 09. 2022, 22:47:33
- Chybějící generika, hlavně jak se pak všechno zapisuje do komentáře. Navíc používáme 5.3 a 7.0, kde nejsou nativní anotace a neumí ani null typehint..
- array jako jeden typ pro hashmapu a list je zdrojem bugů
Mohu doporučit https://phpstan.org/ řeší jak generika, tak notnull type hint, tak list versus array. To, že je to externí nástroj jde vlastně brát i jako pozitivum.


neumí ani null typehint..
Rád bych upozornil na to, že C# taky nemá notnull typehint. Což zase velmi vadí mě.
Název: Re:Trendy v PHP
Přispěvatel: BoneFlute 07. 09. 2022, 00:04:55
https://www.php.net/manual/en/class.datetime.php

Musím se podívat, proč to kolegové reimplementují, ale počítám, že nějaký vážný důvod to má. Každopádně počítám, že porovnávat to nejde, takže třeba triviální max($datetime1, $datetime2, $datetime3) neuděláš.

Uděláš.

Hele, nebylo by prostě tak nějak férovější prohlásit "já prostě PHP nemám rád, nemám pro to žádný racionální důvod, jenom je mi nesympatický"? Jen takový návrh.
Název: Re:Trendy v PHP
Přispěvatel: Kit 07. 09. 2022, 01:35:53
V jazyku přišli nové featury, konkrétně typy, enum, traity, anotace (co zrovna mě hodně potěšilo).
Anotace pro reflexi ok, ale často se to dost přehání a je víc kódu nad metodou než v ní.
Anotace mají zajímavou vlastnost v tom, že jsou deklarativní. Tedy jiný přístup k "programování". Někdo (třeba já) by mohl říct, že čím víc deklarativního kódu tím lépe  :)

Deklarativní kód mám také rád. Proto vypouštím anotace a většinu kódu mám XSLT, hlavně vstupy a výstupy. PHP se tak stane jen lepidlem. Výsledkem je přehledný a velmi rychlý kód.
Název: Re:Trendy v PHP
Přispěvatel: oss 07. 09. 2022, 07:58:30
Co sa taky Rustu, ten ma tiez svoje problemy, na ktore ale clovek pride ked s nim zacne robit
Co například?
Nechcem rozbiehat vlakno o Ruste. Ale v kratkosti - viem, ze mnoho veci je kvoli borrow checkingu a vlastnictvu, ale obcas to stve. No take objektivne: UT8 stringy - na prvy pohlad super, v realite ciste zlo, milion dalsich typov stringov, slaba standardna kniznica - balicky si implementuju uplne trivialne veci sami a potom ma clovek na to iste milion nekompatibilnych typov (ale stale je to lepsie ako v JS), language server mi pri monhych veciach neokaze dat hint, hlavne pri zlozitych generikach a vtedy mi nepomaha ani dokumentacia (kvoli tomu som uz vzdal jeden projekt).

Ako Rust je super, robil som s nim vela, ale proste nie je az taky pohodlny.
Název: Re:Trendy v PHP
Přispěvatel: oss 07. 09. 2022, 08:00:29
Rád bych upozornil na to, že C# taky nemá notnull typehint. Což zase velmi vadí mě.

C# sice nema notnull typehint, ale ma null typehint - takze ide na to spravne - null moze byt len to co  oznacis. Je to tam od verzie C# 7.x , s dotnet 6 ma uz null anotacie cela standardna kniznica a aj milion dalsich.
Název: Re:Trendy v PHP
Přispěvatel: Coati 07. 09. 2022, 09:17:53
No take objektivne: UT8 stringy - na prvy pohlad super, v realite ciste zlo, milion dalsich typov stringov
UTF8 má po řetězce spousta jazyků, proč je to zlo?
Že má několik typů pro řetězce je fakt, ale dává to smysl, ne? Převod na řetězce à la C nebo na seznam run se řeší všude možně, Go to má, i Fortran, dokonce i v rámci C existuje několik typů třeba na Windows.
Název: Re:Trendy v PHP
Přispěvatel: wsh wsh 07. 09. 2022, 09:53:01
https://www.php.net/manual/en/class.datetime.php

Musím se podívat, proč to kolegové reimplementují, ale počítám, že nějaký vážný důvod to má. Každopádně počítám, že porovnávat to nejde, takže třeba triviální max($datetime1, $datetime2, $datetime3) neuděláš.

Uděláš.

Hele, nebylo by prostě tak nějak férovější prohlásit "já prostě PHP nemám rád, nemám pro to žádný racionální důvod, jenom je mi nesympatický"? Jen takový návrh.

Tak jsem na to koukal a hlavním důvodem bude nedomrlá podpora mikrosekund. PHP se zákeřně tváří, že mikrosekundy podporuje, ale ve skutečnosti

Citace
microtime(true) loses precision in conversion to float. I think you only end up getting precision to 1/10th of a millisecond.

Plus tyhle rady jsou taky skvělé

Citace
You can specify that your input contains microseconds when constructing a DateTime object, and use microtime(true) directly as the input.

Unfortunately, this will fail if you hit an exact second, because there will be no . in the microtime output; so use sprintf to force it to contain a .0 in that case: date_create_from_format(     'U.u', sprintf('%.f', microtime(true)) )->format('Y-m-d\TH:i:s.uO');

Opravdu ti připadá, že tohle není racioální argument - ten jazyk je plný podobných záludných chování, kdy kód většinou funguje, ale pak někam přijde nula a ono to spadne. Případně se ti magicky ztratí přesnost.
Název: Re:Trendy v PHP
Přispěvatel: fos4 07. 09. 2022, 10:33:47
to je zase flame..
Název: Re:Trendy v PHP
Přispěvatel: BoneFlute 07. 09. 2022, 11:44:15
Opravdu ti připadá, že tohle není racioální argument - ten jazyk je plný podobných záludných chování, kdy kód většinou funguje, ale pak někam přijde nula a ono to spadne. Případně se ti magicky ztratí přesnost.
Opravdu mi přijde, že to není racionální argument. Matně si vzpomínám na nějaký seznam, kde byl popis takovýchto špeků pro všelijaké jazyky. Já třeba aktuálně trpím u C#, protože ho ještě tak dobře neznám, ještě si toho všímám.

Vtip byl hlavně v tom, s jakou samozřejmostí jsi napsal:
https://www.php.net/manual/en/class.datetime.php
Každopádně počítám, že porovnávat to nejde, takže třeba triviální max($datetime1, $datetime2, $datetime3) neuděláš.

jen na základě pocitu, aniž by sis to alespoň vyzkoušel.

Můj závěr, založený jen na základě zkušeností s používáním je v tom, že mi nedělá problém se přepínat mezi PHP - C# - Java - Python. Protože jsou to víceméně podobné jazyky. Jistě, C# je o trošičku vymazlenějí jak Java nebo PHP, Java má knihovny na všechno a je čistější, ... Ale všechno je to prostě podobné. Když bych si měl vybírat mezi nimi tak rozhodování na základě komfortu jazyka nebude ani v první dvacítce důvodů, protože tak moc se zase neliší.
Název: Re:Trendy v PHP
Přispěvatel: wsh wsh 07. 09. 2022, 13:07:18
Ano, napsal jsem to bez vyzkoušení. Ale už vím, že php neumožňuje přetížit operátory a naši php vývojáři na takový styl práce nejsou zvyklí. Proto až na základě mého podnětu v rámci code review přibyla do naší vlastní implementace datetime pomocná funkce max(), která to řeší (do té doby to všichni převáděli na int a porovnávali ve for cyklu). Čili jsem to automaticky u datetime neočekával.

Nicméně na základě naší debaty jsem procházel dokumentaci PHP a nevidím tam, jak poznat, které třídy porovnávání podporují. Našel jsem debatu na StackOverflow, kde dokonce porovnávali date() a spoléhali na to, že proběhne implicitní konverze na string a ty stringy pak budou ve správném formátu. To je přístup, který mě doslova děsí a to že to v PHP prochází mi přijde jako nejhorší, těžko opravitelná vlastnost jazyka.
Název: Re:Trendy v PHP
Přispěvatel: BoneFlute 07. 09. 2022, 15:39:08
Ano, napsal jsem to bez vyzkoušení. Ale už vím, že php neumožňuje přetížit operátory a naši php vývojáři na takový styl práce nejsou zvyklí. Proto až na základě mého podnětu v rámci code review přibyla do naší vlastní implementace datetime pomocná funkce max(), která to řeší (do té doby to všichni převáděli na int a porovnávali ve for cyklu). Čili jsem to automaticky u datetime neočekával.

Nicméně na základě naší debaty jsem procházel dokumentaci PHP a nevidím tam, jak poznat, které třídy porovnávání podporují. Našel jsem debatu na StackOverflow, kde dokonce porovnávali date() a spoléhali na to, že proběhne implicitní konverze na string a ty stringy pak budou ve správném formátu. To je přístup, který mě doslova děsí a to že to v PHP prochází mi přijde jako nejhorší, těžko opravitelná vlastnost jazyka.

Rozumím.
Název: Re:Trendy v PHP
Přispěvatel: oss 08. 09. 2022, 08:55:18
No take objektivne: UT8 stringy - na prvy pohlad super, v realite ciste zlo, milion dalsich typov stringov
UTF8 má po řetězce spousta jazyků, proč je to zlo?
Že má několik typů pro řetězce je fakt, ale dává to smysl, ne? Převod na řetězce à la C nebo na seznam run se řeší všude možně, Go to má, i Fortran, dokonce i v rámci C existuje několik typů třeba na Windows.

Je to vykonova pasca. A mizerne sa s tym pracuje, neustale konverzie zru vykon. Ja viem, ze sa to zda pohodlne, ked sa stringy len spajaju, ale parsovanie cohokolvek je fakt cista bolest. To, ze to ma tak aj Go ma moc nezaujima, je to priserny jazyk.

No rad by som vratil temu k aktualnym trendom v PHP.
Název: Re:Trendy v PHP
Přispěvatel: Pavel Stěhule 08. 09. 2022, 16:27:24
No take objektivne: UT8 stringy - na prvy pohlad super, v realite ciste zlo, milion dalsich typov stringov
UTF8 má po řetězce spousta jazyků, proč je to zlo?
Že má několik typů pro řetězce je fakt, ale dává to smysl, ne? Převod na řetězce à la C nebo na seznam run se řeší všude možně, Go to má, i Fortran, dokonce i v rámci C existuje několik typů třeba na Windows.

Je to vykonova pasca. A mizerne sa s tym pracuje, neustale konverzie zru vykon. Ja viem, ze sa to zda pohodlne, ked sa stringy len spajaju, ale parsovanie cohokolvek je fakt cista bolest. To, ze to ma tak aj Go ma moc nezaujima, je to priserny jazyk.

No rad by som vratil temu k aktualnym trendom v PHP.

Dělám v C, kde podpora UTF8 je minimální, a při parsování stringu v utf8 je jen o pár instrukcí delší. Horší je, když máte ještě podporovat 8bit kódování. V podstatě jedinou problematickou operací, která se mi nad utf8 hůře dělala je reverse search.