Autor Zpráva
Marti_n
Profil
Čo hovoríte na PHP 5.5? Pokročilo niekam php? Mňa konkrétne zaujal operátor yield, čo si o tom myslíte? :) Tuším facebook využíva yield na zmenšenie počtu dotazov, ale ten ho už používa dlhšie vďaka HipHopu.
juriad
Profil
Marti_n:
Podíval jsem se na seznam novinek. PHP vlastně s ničím novým nepřišlo, jde jen o dotažení současných principů nebo je to prostě převzaté z jiných jazyků.

> Added generators and coroutines.
Přímá obdoba je v Pythonu a můžeme říct, že něco podobného je i v Haskellu, protože tam vlastně nic jiného ani neexistuje.
Málo kdo to využije, protože jde o nezvyklý způsob programování.

> Added the finally keyword.
Ano toto je příjemné zlepšení.

> Added a simplified password hashing API.
Konečně, teď jen přepsat ty tuny zastaralých a chybných návodů povalujících se všude na webu.

> Added support for constant array/string dereferencing.
Toto mají snad všechny slušné jazyky. Přijde mi to jako pozůstatek z doby, kdy PHP bylo jen tupým šablonovacím jazykem.

> Added scalar class name resolution via ::class.
O něco snažší debugování, ale také o něco lákavější pro začátečníky ke zneužití při psaní "objektového" kódu.

> Added support for using empty() on the result of function calls and other expressions.
Ehm, pořád si myslím, že funkce empty je nepoužitelná především kvůli "0".

> Added support for non-scalar Iterator keys in foreach.
Vím, že Perl měl podobné omezení, ten ale vyžaduje, aby klíče byly immutable. Teď už jen zobecnit pole (ehm mapy)...

> Added support for list() constructs in foreach statements.
Pěkné to je; v každém jiném přiřazovacím kontextu to bylo možné, tak to jen dotáhli do konce.
Obdobu umí většina deklarativních jazyků a umí ji lépe.
Jan Tvrdík
Profil
juriad:
PHP vlastně s ničím novým nepřišlo
PHP se nikdy nesnažilo být super cool jazyk s revolučními funkcemi, takže osobně se domnívám, že ty novinky jsou super. Drží zpětnou kompatibilitu a přitom usnadňují zápis některých jazykových konstrukcí.

O něco snažší debugování
Účel ::class je spíš v tom, že ti bude fungovat code completion a berou se v potaz use klauzule, což může hodně ušetřit při psaní.

Marti_n:
yield je rozhodně nejrevolučnější změnou v PHP 5.5, protože to umožňuje stavět aplikace dost jiným způsobem. Bude ale trvat, než vzniknou knihovny, které toho dokážou využít.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: