Kde upozornit začátečníky, že dokumentace je pro verzi pro PHP 5.3?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
petr.pavel
Člen | 535
+
0
-

Když jsem s Nette začínal, hodně mě frustrovalo, že skoro žádný příklad z dokumentace a fóra mi nefungoval. Na vině byly dvě věci:

  1. odlišnost verzí, pro které byly příklady napsané, ale s tím jednoduše nic nenaděláme
  2. skutečnost, že jsem nevěděl, že celá dokumentace je psaná pro verzi s namespaces, kdežto já používal prefixovanou

Myslím, že informace (2) by měla být někde hodně na očích, minimálně na stránce Download pod odkazem na verzi Nette Framework 2.0-beta pro PHP 5.2. Nevím, jestli verze pro 5.2 bez prefixů může používat příklady z dokumentace rovnou (tedy bez „use“).

Další vhodné místo pro takovou poznámku mi přijde na hlavní stránce dokumentace. Akorát že to naruší estetiku, teď je zcela bez textů, jen odkazy.

Co myslíte?

Jan Voráček
Člen | 90
+
0
-

Myslím, že pro začátky a učení je vhodná právě verze pro PHP 5.3, jelikož jen už jen díky použití namespace všechno jasnější. Verzi pro 5.2 bych ponechal jen pro případy, kdy PHP 5.3 opravdu nemůžeme použít.

Zároveň je snad na každém příkladu z dokumentace jasně vidět, že jde o PHP 5.3. Možná by se ale to hodilo zdůraznit a přidat například do obecných informací nějaké „Informace o dokumentaci“ nebo tak něco.

Editoval Jan Voráček (31. 8. 2011 13:22)

Filip Procházka
Moderator | 4668
+
0
-

Já si myslím, že informace na stránce download jsou plně dostačující. Pokud má někdo problém pochopit „verze pro 5.3 se jmennými prostory“ pak bude nejspíše problém se znalostmi samotného PHP.

Nemůžeme mít všude všechno podtrhané červenými zvýrazňovači. To by nebylo pěkné.

Na hlavní stránku dokumentace to rozhodně nepatří. Pokud někam takovou informaci přidávat. Tak do článku Začínáme s Nette Frameworkem nebo Stažení a instalace.

Stejně si ale myslím, že je to zbytečné.

Patrik Votoček
Člen | 2221
+
0
-

myslím si že tohle bude samo vyřešeno hned jak se odstřihne podpora pro PHP 5.2. Do té doby bych to neřešil (maximálně ještě větším upozaděním 5.2 verze).

petr.pavel
Člen | 535
+
0
-

Našel jsem nějaké statistiky používání:
http://w3techs.com/…pl-php/5/all

Grafy se tváří, že jsou ze dneška.

Version 5.2 80.2%
Version 5.3 12.8%

Odstřihnout verzi 5.2 ještě nějakou dobu nebude dobrý nápad.

22
Člen | 1478
+
0
-

dokud lidi budou bastlit pořad na 5.2 tak se nehnem z místa :-) je potřeba využívat hostingy s 5.3 podporou a 5.2 se vyhýbat, navíc je přece zcela logické, že staré projekty (80%) jede na 5.2, protože v době vzniku 5.3 prostě nebyla a i tak je to pěkných 20% za tak krátkou dobu .-) Takže přeji rychlou smrt verzi 5.2

Mikulas Dite
Člen | 756
+
0
-

Souhlasím, akorát se obávám, že zbytek od 5.2 není pouze 5.3, ale 4 a nedej bože i php verze 3 :-).

Majkl578
Moderator | 1364
+
0
-

Nehledě na zmíněný graf používaných verzí si myslím, že v době bety 5.4 nemá smysl se verzí 5.2 moc zabývat a považoval bych ji už jen jako přechodně nutnou kouli na noze.

hAssassin
Člen | 293
+
0
-

[OT]
Taky si myslím že 5.2 už dožívá a co nevidět zemře nadobro… Bohužel totéž si už několik let myslím IE6 :-(
[/OT]

Nox
Člen | 378
+
0
-

PHP5.2 je bohužel ještě dost rozšířený

a naopak to IE6 – ono není mrtvý? Alespoň teda u nás. Průměrně je už dlouhodobě pod 2.5%, v některých tématech trvale 0.9% a míň (i pod 0.5% iirc)

Honza Marek
Člen | 1664
+
0
-

A kdo vás nutí používat hostingy s PHP 5.2, pracovat v práci s PHP 5.2 a tak podobně?

Patrik Votoček
Člen | 2221
+
0
-

Tady jsou výsledky průzkumu z Dubna letošního roku.

Tharos
Člen | 1030
+
0
-

@Honza Marek: Bohužel, zejména ve větších firmách to nemusí být úplně růžové. Přihodím jednu vlastní zkušenost: přijdeš do firmy XYZ, která dělá jako jednu ze svých činností už X let weby a pár už jich za ta léta vyprodukovala (řádově 100). Vše je provozováno na vlastních serverech s PHP 5.2. Autoři řady provozovaných webů jsou už kdo ví kde, a tak jejich porucha v případě upgradu na PHP 5.3 by se mohla enormně prodražit (někdo neznalý by musel opravovat cizí starý kód, nehledě na to, že u pár projektů by klient nefunkčnost některé části objevil třeba až po týdnech a mohl by zpětně vymáhat i ušlý zisk – testy samozřejmě ony X let staré weby neobsahují).

Pak přijde vývojář, který doporučí přechod na PHP 5.3. Jelikož ale dělání webů není primární činností firmy, stane se, že management rizika s tím spojená vyhodnotí jako neadekvátní přínosu. Dobře, samozřejmě v takové firmě nemusíš dělat, ale vezmi v úvahu, že se může jednat o zaběhnutou firmu s velmi klientelou. Chceš-li tedy dělat pro ně, jsi z plně racionálních důvodů nucen používat PHP 5.2 :).

Editoval Tharos (4. 9. 2011 14:55)

Majkl578
Moderator | 1364
+
0
-

Tharos napsal slohovku

Tak a teď mi odpověz na jednoduchou otázku: Co těm firmám brání v tom, aby na serveru běžely obě verze paralelně (pomineme-li náklady serverářovi na konfiguraci, v řádech jednotek hodin)?

Tharos
Člen | 1030
+
0
-

@Majkl578: Odpovím Ti, jak to bylo v tom konkrétním případě (cca před rokem a půl).

To, o čem píšeš, bylo přirozeně první, co jsem správci toho serveru nabídl. Na to zareagoval zkušeností z minulosti, kdy prý pár měsíců přede mnou po něm jiný vývojář na stejném serveru chtěl úplně to samé. Vyhověl mu a zprovoznil jako modul PHP 5.3 a snad přes FastCGI PHP 5.2, detaily nevím. Bohužel PHP 5.3 v té době bylo asi čerstvé a bugové (sic stable…) a namátkou při requestech shazovalo celý server a právě omezovalo všechny ty běžící weby… Která extenze či konstrukce v kódu to způsobuje bohužel nezjistili, a tak šlo pryč a prý se zapřísahal, že v případě PHP odmítá opakovat podobná laborování.

Když jsem mu vysvětloval, že nyní je už situace na 100% lepší, nevěřil mi a argumentoval tím, že o bezproblémovém chodu ho ubezpečoval už ten předchozí vývojář. V tomhle prý PHP vývojářům už prostě nevěří a jediná možnost, na kterou by přistoupil, by byla oddělený server, což ale v ten moment nebylo z jiných důvodů možné…

Jestli máš ještě nějakou otázku kolem téhle exotické situace v rukávu, sem s ní. :)

Majkl578
Moderator | 1364
+
0
-

Tharos napsal(a):

Jestli máš ještě nějakou otázku kolem téhle exotické situace v rukávu, sem s ní. :)

Jistě, je to přeci jen a pouze jeho hloupost, že nechal čerstvé PHP 5.3 jako modul (Apache předpokládám) a 5.2 dal jako FastCGI. Celé tohle řešení je postavené na hlavu. Proč nenechal jako modul 5.2, které tak dosud fungovalo dobře? Proč nedal 5.3 jako FastCGI, nebo lépe, jako FPM (tj. FastCGI s managerem vestavěným přímo do PHP >=5.3.3)?

Ideální řešení pro provozování víc verzí PHP paralelně (a teď nemyslím jen 5.2 a 5.3, ale klidně 5.2, 5.3, 5.4 a různé třeba i kombinace více setinkových verzí) je, řekl bych. použít každé PHP jako FPM (starší verze jako FastCGI nebo s FPM patchem). Pak totiž odpadá problém, který jsi zmínil – když jedno PHP běžící jako FCGI spadne, neshodí ostatní. V případě FPM dokonce spadne jen jedno z vláken a ne celé FPM.
Výhodou FPM řešení je, že běží naprosto nezávisle a nemusí o sobě s web serverem vůbec vědět (jsou to 2 standalone daemony běžící na vlastním socketu / TCP portu).

Abych tu jen neplácal teorii, řeknu jak to mám na localhostu. Jako webserver mám nginx 1.1.0 a jako FPM mi tu běží PHP 5.3.8–1 (Debian balík) a PHP 5.4.0-beta1-dev. 5.3.8–1 běží na TCP 127.0.0.1:9000, 5.4.0-beta1-dev běží jako socket /var/run/php5-fpm.sock (proč to mám zrovna takhle je vedlejší). V nginxu je otázkou asi 7 řádků nastavit směrování PHP souborů skrze příslušné FCGI. A teď to nejlepší – vyměnit jedno FCGI za druhé je otázka jednoho jediného řádku a příkazu /etc/init.d/nginx reload.

A já se teď tedy znovu ptám na stejnou otázku: Co těm firmám brání v tom, aby na serveru běžely obě verze paralelně? :)

Tharos
Člen | 1030
+
0
-

Resumé tam u nich tenkrát bylo, že se prostě pro PHP 5.3 vyhradí oddělený server. Problém zbyl jen ten, že to z různých interních důvodů trvalo (snad 2 a půl měsíce…). Proto jsem tam byl nucen pár měsíců vyvíjet v PHP 5.2. Bližší detaily Ti k tomu neřeknu, protože víc sám nevím. Když jsem přišel s návrhem, aby obě verze běžely vedle sebe, dostalo se mi odpovědi, o které jsem psal. Dost možné (a pravděpodobné) je, že to ten admin neuměl tak dobře nakonfigurovat, jako Ty.

Dnes už je to pro mě celé minulost (už s nimi nespolupracuji).

petr.pavel
Člen | 535
+
0
-

Fascinuje mě, jak je pro vás (s výjimkou Tharose) všechno černo-bílé. xyz je zlo a tak se musí odstřihnout.

Nette je na poli frameworků začátečník. Až bude mít xyz procent trhu, tak snad bude moci vytvořit dostatečnou páku, aby kvůli Nette někdo někam investoval peníze. Do té doby buďte rádi, za každého, kdo Nette použije.

Statistika Patrika Votočka je možná k něčemu zajímavá, ale neposkytuje žádné podklady k otázce, jestli je vhodné odstřihnout verzi Nette pro PHP 5.2. Jestli to dobře chápu, jedná se o statistiky ankety, na kterou dobrovolně odpovídali vývojáři, kteří se o anketě sami domákli a kteří Nette už používají. To je hodně malý vzorek. Nám jde o všechny vývojáře, kteří Nette chtějí použít. Nenapadá mě, jak takovou informaci získat, ale statistiky, které jsem našel já, podle mě poskytují relevantnější údaje.

Filip Procházka
Moderator | 4668
+
0
-

Nette je na poli frameworků začátečník. Až bude mít xyz procent trhu, tak snad bude moci vytvořit dostatečnou páku, aby kvůli Nette někdo někam investoval peníze. Do té doby buďte rádi, za každého, kdo Nette použije.

Dovol abych se ti vysmál, víš kolik firem dělá v Nette a kolik stovek projektů na něm běží?

Statistika Patrika Votočka je možná k něčemu zajímavá…

Jde o to, že nové projekty už se prostě většinově dělají v php5.3. Najdou se ještě výjimky, ale i oficiální podpora ze strany php prostě není.

php5.2 je téměř mrtvé a už jenom dodělává a dotahují a udržují se projekty, které na něm začaly.

Majkl578
Moderator | 1364
+
0
-

petr.pavel napsal(a):

PHP 5.2 umřelo 9.12.2010, kdy bylo oficiálně oznámeno, že 5.2.15 ukončuje podporu řady 5.2. Dnes to je 3/4 roku od té doby a ty tu zastáváš PHP 5.2, které stojí za prd a které je koulí na noze.

Jakékoliv projekty, které od té doby vznikají na <5.3 vznikají na nepodporované, nedoporučované a mrtvé verzi PHP. Tohle je prostě fakt, o kterém se nedá spekulovat. Pokud vyvíjíš nové projekty na 5.2, tak hodně zábavy, ale neházej tohle břímě na ostatní, kteří nejsou zaostalí.

Ondřej Mirtes
Člen | 1536
+
0
-

Bez PHP 5.3 nelze použít ani Symfony 2 a Doctrine 2. PHP 5.2 je výkonově zaostalý a na vlastnosti chudý jazyk.