Autor | Zpráva | ||
---|---|---|---|
orava Profil |
#1 · Zasláno: 31. 5. 2008, 20:25:35
na hostingu kde hostujem uz dva tyzdne bezi PHP 6 (teraz som to vsimol)
Aky je rozdiel medzi PHP5 a PHP6 ? a v com su je hlavne vyhody? |
||
kletely Profil |
#2 · Zasláno: 31. 5. 2008, 20:29:23
orava
Ja by som najprv pouzrel na google. |
||
orava Profil |
#3 · Zasláno: 31. 5. 2008, 20:46:06
ok nieco som nasiel
PHP6?! |
||
srigi Profil |
#4 · Zasláno: 1. 6. 2008, 11:06:34
No to vyhodenie BREAK je teda pekna <|>na. Co vy na to?
|
||
Davex Profil |
#5 · Zasláno: 1. 6. 2008, 11:43:59
srigi
Klasický break zůstane. Jenom nebude v souvislosti se zavedením "goto" funkční dynamický break tj. break $var. |
||
Měsíček Profil |
#6 · Zasláno: 1. 6. 2008, 12:09:29
Myslím, že příkaz goto měl být v PHP už dávno .. nevím proč si s ním dali tak načas.
|
||
souki Profil |
#7 · Zasláno: 1. 6. 2008, 12:30:12
goto? Není to nesmysl z basicu, který jenom podporuje špatné programování?
|
||
orava Profil |
#8 · Zasláno: 1. 6. 2008, 12:58:53
no ja som sa s toho moc nedozvedel!
ak poznate este dajaky SK/CZ clanok tak tu dajte link |
||
DoubleThink Profil * |
#9 · Zasláno: 1. 6. 2008, 13:04:20 · Upravil/a: DoubleThink
goto? Není to nesmysl z basicu, který jenom podporuje špatné programování?
Ano, navíc v PHP6 se bude dát skákat jenom vpřed a ne do podmínkových a objektových bloků. Tedy nic co by konstrukce do-while nezvládla už teď. Jinak se mrkni na Vývoj PHP 6 od Jakuba Vrány. |
||
souki Profil |
#10 · Zasláno: 1. 6. 2008, 13:21:02
"Při použití objektu v kontextu řetězce se volá metoda __toString."
Tak tohle mi v PHP dost chybělo. Není to nc zásadního, ale dokáže to hezky zpřehlednit kód, když můžete použít echo $zbozi->cena i echo $zbozi->cena->bezDPH |
||
DoubleThink Profil * |
#11 · Zasláno: 1. 6. 2008, 13:41:29
To už je i v pětce. Jakub Vrána jenom píše, že nevzniknou ekvivalentní magické metody pro další primitivní typy - třeba __toArray().
|
||
Měsíček Profil |
#12 · Zasláno: 1. 6. 2008, 13:59:00
"goto? Není to nesmysl z basicu, který jenom podporuje špatné programování?"
Pouze mýty, zkušený programátor ho nepoužívá jen proto, protože ho nepotřebuje a využije ho opravdu jen v extrémních situacích, ale to neznamená, že je špatný. |
||
souki Profil |
#13 · Zasláno: 1. 6. 2008, 13:59:06
DoubleThink
Tak to mi zase něco uniklo. Díky za info |
||
souki Profil |
#14 · Zasláno: 1. 6. 2008, 14:05:22
Měsíček
Ukaž mi jednu situaci, kde je nějak rozumně využitelný a budu ti věřit. |
||
Davex Profil |
#15 · Zasláno: 1. 6. 2008, 15:15:40
souki
Oprávněné použítí goto je například při potřebě okamžitého opuštění několikanásobně vnořeného cyklu. |
||
souki Profil |
#16 · Zasláno: 1. 6. 2008, 15:31:33
Davex
Vyjímka mi přijde lepší. Stejně tak to jde vždycky poskládat z podmínek |
||
Měsíček Profil |
#17 · Zasláno: 1. 6. 2008, 16:37:54
"Vyjímka mi přijde lepší. Stejně tak to jde vždycky poskládat z podmínek"
V čempak ti příjde lepší? Mimochodem proč to složitě skládat z podmínek, když na to můžeš využít goto :) |
||
souki Profil |
#18 · Zasláno: 1. 6. 2008, 16:39:43
Měsíček
Protože goto je fuj Vlastně jsi to přesně vystihl :) goto některé věci dokáže velmi rychle vyřešit. Časem se to ale může hrozně vymstít. Přecijen je asi důvod proč se už pár let nikde nepoužívá kromě primitivních jazyků, kde to zkrátka jinak udělat nejde |
||
Joker Profil |
#19 · Zasláno: 1. 6. 2008, 17:22:37
Davex
...v souvislosti se zavedením "goto"... Huh?! Oni TEĎ chtějí do PHP zavést příkaz goto?! Kdo to proboha vymyslel? Měsíček Pouze mýty, zkušený programátor ho nepoužívá jen proto, protože ho nepotřebuje Nejen zkušený programátor. Jak známo, strukturovaný program může používat jen tři konstrukce: sekvence (příkazy postupně za sebou), selekce (větvení) a iterace (cyklus). Takže strukturované programy nemohou používat skoky. Existuje snad jen jedna "tolerovaná výjimka" (pak se mluví o "dobře navržených programech"), a sice předčasné ukončení cyklu (tj. výskok z cyklu před jeho dokončením). Tuhle funkčnost už ale má stávající PHP a příkaz break (případně throw). Takže podle mě zavedení příkazu goto bude mít jediný dopad: rozšíří možnosti vytváření špatně napsaných a těžko odladitelných programů. |
||
Měsíček Profil |
#20 · Zasláno: 1. 6. 2008, 17:30:09
Co se týče příkazu goto tak to dobře uvedl Miloslav Ponkrác:
"Goto používám zřídka, asi tak jednom za půl roku až rok se hodí. Kdysi dávno pan Dijkstra vyvolat hysterii kolem příkazu goto jakožto největšího zla. A dodnes z toho vzniká panika a fanatismus vůči goto. Pokud jste začátečník, je dobré goto nepoužívat zcela cíleně a naučit se zvládnout algoritmy pouze pomocí standardních strukturovaných příkazů (podmínky, cykly, atd..). Teprve později pochopíte, kde goto pomůže, a kde ne - je to velice velice zřídka. Zejména na ošetřování chyb je goto někdy dost vhodné. Jinak goto je velice rychlý příkaz - určitě je to jedno z nejrychlejších věcí co v programovacím jazyce vůbec existuje. Stejně podmínky/cykly/výjimky a další nejsou nic jiného, než prekavátěné goto. Je dobré rozumně uvažovat, než číst věci vytržené z kontextu. Miloslav Ponkrác" |
||
Davex Profil |
#21 · Zasláno: 1. 6. 2008, 17:41:37
Joker
příkaz goto Přesněji break label; Kdo to proboha vymyslel? Sara Golemon napsala patch, který byl po dlouhé debatě přijat. |
||
Joker Profil |
#22 · Zasláno: 1. 6. 2008, 18:02:46
Měsíček
Zejména na ošetřování chyb je goto někdy dost vhodné. Jenže v takových případech bývá typicky daleko vhodnější try-catch. Já nevím, no... mi připadá, že PHP místo aby řešilo dlouhodobé problémy (jako třeba totální chaos v pojmenovávání funkcí) a krystalizovalo do podoby ideálního skriptovacího jazyka pro menší projekty se naopak snaží rozpliznout do jakési špatně použitelné kopie "velkých" programovacích jazyků. |
||
souki Profil |
#23 · Zasláno: 1. 6. 2008, 18:09:07
Měsíček
Zejména na ošetřování chyb je goto někdy dost vhodné. Zřejmě psáno v době, kdy v php ještě nebyly vyjímky. Ty jsou na to určené a ošetřování chyb se s nimi dělá parádně. goto vždycky řeší jen to, co daný jazyk neumí. V AS jsou to cykly nebo podmínky, v PHP4 by se dalo využít na ošetření chyb. Ve vyší verzi nemá význam |
||
Měsíček Profil |
#24 · Zasláno: 1. 6. 2008, 19:20:47
"Zřejmě psáno v době, kdy v php ještě nebyly vyjímky."
Ten příspěvek nebyl směřován na PHP, byl směřován na příkaz goto obecně .. mimochodem psán maximálně 2 měsíce zpět ;) |
||
souki Profil |
#25 · Zasláno: 1. 6. 2008, 19:47:54
Měsíček
Stejně platí, že pokud jsou vyjímku,není potřeba to zběsile obcházet přes goto |
||
Timy Profil |
#26 · Zasláno: 1. 6. 2008, 19:51:42 · Upravil/a: Timy
OT: Lidi, prosím, výjimka.
|
||
Timy Profil |
#27 · Zasláno: 1. 6. 2008, 19:57:45
Měsíček
Apriori není špatné nic, když se to používá správně. Proto by se obvykle nějaká vlastnost jazyka měla posuzovat relativně: vyváží klady příkazu goto jeho případné zápory? Myslím si, že pokud po goto hrábne nějaký ne zrovna kvalitní programátor (M. Ponkrác je určitě dobrý programátor, ten ví, kdy to použít), tak to dopadne katastrofálně. Jazyky běžně „chrání“ programátory a nepovolují nějaké vlastnosti (napadá mě třeba vícenásobná dědičnost v OOP), ačkoliv na nich apriori není nic špatného a jednou za čas se hodí. |
||
Časová prodleva: 16 let
|
0