Diskuse:PHP
Pozor! Zase neblbněte!
editovatTato diskuse trpí tím, že se někdo pořád snaží PHP napasovat a přesně popsat zvyklostmi Javy, nebo C++. Pokud se mu to nedaří, napíše třeba „Článek je subjektivní, obsahuje hodně relativismů“.
U PHP je velmi těžké od sebe odlišit jazyk, interpretr, technologie. Rozlišení jazyka a knihovany je také u málokterého jazyka ostré. Zkuste si třeba představit C++ – je třeba operátor new součást jazyka? Je, ale bez knihovny by operátor nefungoval. Každý jazyk má základní runtime knihovnu, která je někdy tak těsně přišitá k jazyka, že dělící čáru budete těžko hledat.
Jazyk C++ není definován kompilátorem, ale normou. Jazyk PHP není definován normou, ale právě jeho interpreterem. Rozlišování tedy mezi interpretrem a jazykem je v případě PHP méně oprávněné, než u C++. Mimochodem, kolik znáte 100%ně kompatibilních interpreterů PHP? Je totiž právě jeden.
Budu reagovat: Kde je řečeno, že je PHP velmi oblíbené? – to jsem moc nepochopil. PHP je tak nechutně rozšířené, používá se naprosto všude, a v zásadě je to široce volená technologie pro dynamické stránky, což zjistíte jakoukoli statistikou, nebo jenom malým vlastním průzkumem. Pokud požadujete ovšem vědeckou práci na 300 stran, která to dokazuje s rozpočtem 100 miliard dolarů, a potvrzením EU, tak to asi nedostanete. Říci, že PHP není oblíbené, to jste asi přišel z jiné galaxie a ještě jste pozemské poměry moc nepoznal.
Jak víte, proč se stalo oblíbeným? – Opět viz odkaz na věděckou studii v předchozím odstavci.
Co je "částečná svoboda"? – Tak mě napadlo, nejste právník?
Jednoduchost použití PHP je diskutabilní – pán chodí do extrémů. Zkuste si posadit žirafu před klávesnici a co nezvládnem, prohlašme za složité. Posaďte začátečníka před Windows , dejte mu můj [1] Complex Web Server, kterým i začátečník nainstaluje celé prostředí PHP včetně Apache a MySQL do necelé minuty bez problémů. A pak mu dejte jednoduchou dobrou příručku o PHP a bude tvořit mnohem rychleji, než když se pokusí použít třeba Javu, nebo .NET, kteréžto budou pro začátečníka mnohonásobně složitější. Tím je dokázáno, že PHP je jednoduché – nebo chcete-li právnicky přesně – jednodušší pro začátečníka, než jiné technologie.
S čím souhlasím je přirovnat operátory == a === k C. To je blbost, Céčko funguje jinak.
Ohledně indexů pole – přímá pole obsahují jen int, nebo string. Ovšem emulované pole může jako index obsahovat cokoli a v syntaxi ho nerozlišíte. Ale souhlasím, že by se mělo mluvit jen o přímým polích.
Miloslav Ponkrác
Přidány sekce Významné projekty... a Výhody a nevýhody PHP.
editovatU první sekce jako kritérium významnosti navrhuji brát to, zda má příslušná technologie článek na Wikipedii (kterékoliv jazykové verzi) a na tento článek rovnou odkázat.
Je mi jasné, že druhá sekce se mnoha příznivcům PHP nebude líbit a budou mít tendenci nevýhody PHP bagatelizovat, zapírat nebo nebudou chápat, proč je to nevýhoda. Proto jsem tam rovnou dal NPOV a vybízím k diskusi výhod a nevýhod zde, dřive než budete editovat.
Výhoda a nevýhoda jsou relativní pojmy. Proto navrhuji jako "baseline" pro srovnání použít ostatní technologie použitelné na podobné účely jako PHP, tedy: ASP.NET, ColdFusion, Java EE, Perl, Python, Ruby (on Rails). Naopak neuvažoval bych kombinace typu C + CGI (příliš složité programování), Apache SSI (příliš omezená funkčnost), Caché Server Pages (příliš nesmyslná technologie), XML + XSLT + JavaScript (principiálně příliš jinde), ASP (zastaralé) a podobně.
147.229.220.237 28. 7. 2008, 02:17 (UTC)
Článek je subjektivní, chybí zdroje, obsahuje hodně relativismů
editovat"PHP se stalo velmi oblíbeným především díky jednoduchosti použití a tomu, že kombinuje vlastnosti více programovacích jazyků a nechává tak vývojáři částečnou svobodu v syntaxi."
- Kde je řečeno, že je PHP velmi oblíbené?
- Jak víte, proč se stalo oblíbeným?
- Co je "částečná svoboda"? Assembler také nechává částečnou svobodu.
- Jednoduchost použití PHP je diskutabilní... zkuste postavit začátečníka před instalaci PHP na Apache.
... a takto bych mohl pokračovat u celého článku.
Kromě toho, PHP není jen jazyk, ale celá technologie:
- jazyk
- interpret
- knihovny
Podobně jako C++ je jazyk, GCC je kompilátor, STL je standardní C++ knihovna.
"Ve verzi PHP 5 se výrazně zlepšila podpora" - to patří spíše do sekce historie...
* Díky tomu má PHP dva typy porovnání, '==' stejný jako v C, a '===' který platí jen když jsou oba dva výrazy stejného typu.
- To je fakt svělé. Takže == funguje stejně jako v C? Nesmysl. A === platí, když jsou oba výrazy stejného typu? Takže hodnota se může lišit? + chybí zdroj.
* Pole jsou heterogenní, mohou tedy obsahovat jakékoli údaje, stejně tak jako jejich indexy.
- Nesmysl. Indexy mohou obsahovat pouze celá čísla nebo stringy. Nemohou obsahovat reference objektů, pole, handly systémových zdrojů...
* Řetězce lze uzavírat jak do uvozovek (obsah je parsován), tak do apostrofů (obsah není parsován).
- Opět nesmysl. Obsah je parsován v každém případě. Zřejmě chcete říct, že v obsahu se nenahrazují proměnné a některé escape sekvence.
Podotýkám, že jsem letitý PHP vývojář (od již od raných verzí PHP 3) a PHP fandím, ale tenhle článek je velmi podprůměrné kvality.
- Pokud víte jak a máte zájem, určitě uvítáme vaši pomoc s článkem. Editujte s odvahou. --Adam Zivner 11:57, 6. 6. 2008 (UTC)
Drobné nepřesnosti
editovat(Než do toho budu zasahovat, ověřím si to.) "jeho skripty se začleňují přímo do struktury jazyka HTML" - ano, souhlasím. Ale také se začleňovaly do WML. Může být php script, který tvoří/mění obázek(počítadlo) "programovací jazyk" - nechci flame, ale osobně myslím, že je scriptovací(, i když to nic neznamená). --Danny 19:14, 28. 6. 2006 (UTC)
- PHP script rozhodně nemůže být programovací jazyk :-). PHP zvládá podstatně víc než jen generování HTML stránek, takže si myslím, že jde o programovací jazyk. --Hugo 19:30, 28. 6. 2006 (UTC)
- PHP script nie je programovací jazyk, lebo to je len script, script, teda časť programového kódu nemôže byť jazykom, PHP, ako technológia na programovanie, to áno, ale v súčasnosti sa oficiálne PHP ako jazyk zaraďuje do množiny scriptovacích jazykov, aj keď zvláda viac, než nlen scriptovací jazyk.--Wikipedista:Anonym
- PHP rozhodne je programovaci jazyk :). Polemizovat by se ovsem dalo, zda-li je to vzdy jazyk interpretovany (ted narazim na pre-kompilaci Zend Optimizerem). Sporne je spise ale cast "jeho skripty se začleňují přímo do struktury jazyka HTML a jsou prováděny na straně serveru." - skripty v PHP preci rozhodne nemusi byt zacleneny do HTML. Mimo to, ze mohou byt zacleneny do nejakeho jineho jazyka (XHTML, XML, WML atd.), mohou byt take samostatne, bez jakychkoliv HTML znacek, a v tomto pripade vubec nemusi byt provadeny na strane serveru (spousti se interpretem php primo na lokalnim stroji). Tuto cast clanku by chtelo nejak prepsat, aby nereflektovala pouze jedno z mnoha vyuziti PHP a neprezentovala ho navic jako jedine... --Kronn 22:14, 28. 6. 2006 (UTC)
- Trochu jsem to upravil, snad už to je přesnější.
- PHP sice jde zkompilovat, ale tato možnost se využívá velmi málo a výsledky nejsou nijak ohromující. Takže si myslím, že tvrzení, že jde o interpretovaný jazyk je v pořádku. --Hugo 22:33, 28. 6. 2006 (UTC)
- Tak jsem to ted zkusil trosku vylepsit i ja :-) --Kronn 22:42, 28. 6. 2006 (UTC).
- Díval jsem se na en, a tam je natvrdo interpretovaný. Kompilace php je možná, ale ty výsledky jsou žalostné, takže bych to tu snad ani nezmiňoval. --Hugo 22:47, 28. 6. 2006 (UTC)
- Kde jste nasel na en ze PHP je interpretovany jazyk? Ja bych spise rekl, ze to tam takto zmineno neni... Ono je PHP spise nez interpretovanym jazykem jazykem skriptovacim - a pozor, to nejsou synonyma, skriptovaci take neni podmnozinou interpretovaneho, skriptovaci prolina interpretovane a kompilovane. Takze spravne je, ze PHP je skriptovaci jazyk. Souhlasite?
- Díval jsem se na en, a tam je natvrdo interpretovaný. Kompilace php je možná, ale ty výsledky jsou žalostné, takže bych to tu snad ani nezmiňoval. --Hugo 22:47, 28. 6. 2006 (UTC)
- Tak jsem to ted zkusil trosku vylepsit i ja :-) --Kronn 22:42, 28. 6. 2006 (UTC).
- To bude asi nejlepší řešení, protože tato diskuze na wiki nepatří.
- Zpřesnil jsem některé pojmy. Změnil jsem větu o netypovosti PHP, jelikož to nebyla pravda. PHP je dynamicky typový jazyk. Rozlišil pojem globální a superglobální proměnné. Uvedl jsem rozdíl mezi textem uvedený v apostrofech a v uvozovkách. Polidštil jsem proměnné, foo a bar jsou přece jen na wiki nevhodné. --Gee 10:56, 04. 10. 2006 (UTC).
Sekce nevýhody je poněkud poněkud
editovatNemohu si pomoci, ale článek na wikipedii by měl být především informativní. A neopakovat se. Ač mi je PHP ukradené, nemohu se zbavit pocitu značného zasednutí na PHP. ZKusím komentovat:
„Až do verze PHP 4 nepříliš povedená podpora objektově orientovaného programování s mnoha záludnostmi“ Verze PHP 5 už je tu léta, co takhle srovnávat s dobou Napoleona a Národního obrození, nechtěl byste?
„ Verze 5 již podporuje OOP lépe, ale nativní knihovna funkcí nadále používá procedurální paradigma“ „Nativní funkce nepoužívají objektový přístup“ Tady někdo chtěl zkritizovat PHP, a tak pro jistotu jednu věc napsal několikrát, protože PHP nesnáší a každý bič se hodí.
„Dosud neexistuje formální specifikace syntaxe jazyka a jeho chování (jedinou úplnou definicí je interpreter)“ „Tím pádem existuje jediný 100% kompatibilní interpreter“ To nějak vyplývá jedno z druhého, navíc jediný kompatibilní interpretr existuje, to je ten, který definuje PHP.
„Způsob, jakým PHP funguje, principiálně brání efektivnímu řešení mnoha úloh (např. objektově-relační mapování)“ Kecy kecy kecy – nepijte to už prosím vůbec, a celkově se dále vyhýbejte i alkoholu.
„Programátor nemá zaručené cílové prostředí, mnoho věcí přímo ovlivňujících chování PHP lze změnit pouze mimo soubory projektu (např. v konfiguračním souboru php.ini)“ Jak už to u technologií, kde je potřeba zaručit bezpečnost bývá – a myslím, že administrátoři serverů jsou od toho, aby PHP jim nezničilo servery, a smělo odsud posud. Od toho to je.
„Nepodporuje paralelní výpočet (vlákna) a synchronizaci“ Jste si jist?
„Nepodporuje škálování pomocí prostředí sdíleného na více serverech“ Trochu jste přestřelil – PHP není určena na tento typ projektů. To taky můžete napsat obdobně třeba do stránky Člověk: „nevýhoda člověka – neumí létat a živit se petrolejem„. Zkrátka mi přijde, že tohle sem nepatří.
„Nemnoho kvalitních frameworků“ Velmi subjektivní, doufám, že wikipedie by měla být souborem hlavně objektivních informací. Mimochodem, když chcete srovnávat třeba s Ruby, tak tam najdete pouze jeden framework – Ruby on Rails, ostatní skoro nejsou vidět a nemluví se o nich.
„Velký počet zásadních chyb v počátcích nových verzí“ Toto prosím zkopírujte do všech sw článků, protože tak už to bývá skoro u každého sw. Pokud to neuděláte, tak to vykopejte ven, a přestaňte s tou zasednutostí na PHP.
Atd.. – a vůbec, opravím to sám, a budu to klidně denně vykopávat, dokud tu nebudou skutečně objektivní informace.-- Tento nepodepsaný komentář přidal(a) uživatel(ka) Miloslav Ponkrác (diskuse)
- Podle toho co tu vidím, jak píšeš o článku PHP. Je vidět, že opravdu to psal někdo, kdo s PHP měl špatný zkušenosti. Jinak díky tomu, že chodím na SPŠE (elektronika) a mám tam jednoduché programování v Javě, vím že někdy něco nejde přímo, ale přesto to neznamená, že ten jazyk je špatný. Jinak k těm verzím, to jaká byla PHP 4 patří spíš do minulosti. Syntaxe složitá? Java mě příjde stejně těžká a atd..souhlasím se změnami od tebe/vás (?), PHP se nevěnuju (aktivně, jinak na stránky používám asi tak 4 příkazy), přesto chápu jak by článek měl vypadat. --Paxan 11. 1. 2009, 15:32 (UTC)