Ima dosta zanimljivih dodataka sintaksi jezika od čega bih istakao sljedeće, koji približavaju PHP drugim dinamičkim jezicima (cough^^python/javascript^^cough):
“Kratka” sintaksa za nizove, umjesto:
json_encode(array(array("ime1", "tel1"), array("ime2", "tel2"))));
može se koristiti
json_encode([["ime1", "tel1"],["ime2", "tel2"]]);
Dereferenciranje poziva funkcija koje vraćaju nizove: $ime = explode("Hamo Hamidovic")[0]
Pristup atributima/metodama objekta odmah nakon kreiranja: (new Server)->run_for_your_life()
Olakšano korištenje PHP-a kao template jezika, ‘<?=’ je uvijek dostupno, bez obzira na short_tag_opciju (koja je onda viška, rightright?)
Razlog zašto ne koristiti short open tag je veoma jednostavan, ako slučajno imate XHTML template ili nedaj bože XML, koji bi PHP trebao obogatiti (PHP je template jezik zar ne?), onda taj template neće raditi, jer je PHP parser extremno glup, pa početak XHTML/XML datoteke
<?xml version="1.0" ?>
....
uzrokuje fatalnu grešku. Ovo je beyond stupid za jedan jezik koji je kreiran za web i nijedan normalan hosting provajder ne bi uključio ovakvu opciju.
Sa uključenom “short open tag” opcijom, PHP se ne može koristiti kao template jezik za XML bazirane jezike/dokumente.
<?= je zakrpa, u smislu da se PHP parser neće zbuniti kada naleti na <?xml.
Iako <?= nije sintaksno ispravan XML, kada PHP procesira takav dokument, taj tag će biti ukonjen, a PHP se ipak može koristiti za generisanje XML dokumenata, ili nam XML ne treba uopšte, HTML5 to rule them all?
[url]http://terrychay.com/article/short_open_tag.shtml[/url]
Znam ja to nidla to je očigledno svakome ko zna tri stvari o PHPu ali eto postoje nekakvi kišni ljudi sa autističnom opsesijom da im source code bude validan XML. Neka se jave kada C# ili Java ili Python sourcecode bude validan XML pa se može pričati o tome da i PHP to podrži.
I možeš mislit Python parser je takođe ekstremno glup pa baci grešku kad mu proslijediš validan XML? To je očito jedan beyond stupid programski jezik koji nije spreman za web, što se vidi iz toga da ne postoji nijedan popularan sajt rađen tim jezikom! Kad bi samo postojao neki način da web serveru saopštimo koji parser koristiti za koju vrstu fajla…
Vedrane, nećemo se vrijeđati, moliću javno izvinjenje!
Nije isto reći da je PHP glup* i reći za nekoga da je “kišni čovjek” i autističan**, al fakat ozbiljno.
Veoma sam razočaran i uzdržaću se od dalje diskusije da ne bih nešto sočno sastavio…
Rasprava o tamo nekom programskom jeziku nije vrijedna mog ličnog blamiranja niti spuštanja na nivo diskusije gdje je glavni argument lični napad i projektovanje duševnih bolesti.
Moje mišljenje o PHP-u je samo moje, i stekao sam ga nakon 8+ godina PHP programiranja i hostiranja/administriranja aplikacija u PHP-u.
To ne znači da su PHP developeri glupi, niti da su ljudi koji su razvili PHP glupi.
** Hvala dragom Bogu, nemam nikakvih dijagnoza ovog tipa, ali zar nismo svi mi geekovi pomalo introvertni, zatvoreni i “čudni” (barem za autsajdere)
[quote=adis]Vedrane, nećemo se vrijeđati, moliću javno izvinjenje!
Nije isto reći da je PHP glup* i reći za nekoga da je “kišni čovjek” i autističan**, al fakat ozbiljno.[/quote]
Izvinjavam se, nije mi namjera bila da ikoga uvrijedim. Pokušao sam da slikovito opišem nešto što je IMHO potpuno nepotrebna i tvrdoglava opsesija nekom korektnošću koja nema nikakvih praktičnih posljedica.
C# je opensource ali WinForms API (koji 99% C# projekata koristi) nije. Kako kaže wikipedija:
“Mono’s support for System.Windows.Forms as of .NET 2.0 is announced as complete[3] ; also System.Windows.Forms 2.0 works natively on Mac OS X[4]. However, Windows.Forms is not actively developed on Mono[5], and full compatibility with .NET is not achieved and is not possible, because WinForms is mainly a wrapper around the Windows API, and some of the methods allow direct access to Win32 callbacks, which are not available in other platforms than Windows[1].”
ma dobro
winforms je bezveze
web aplikacije se mogu napraviti portabilno (jer one ne koriste win forms) …
te mono je Bogom dan za firme koje imaju gomilu .NET programera te im treba na brzinu da podrze linux
Zahvaljujuci tome jedan veliki projekat na nivou federacije ima povelik dio sistema na linux a da toga njegovi
direktni korisnici (kao ni indirektno svi koji imaju korist od njega) ni nisu svjesni.