IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: PHP6

Aktivity
Avatar
Neaktivní uživatel:26.9.2013 10:57

Chci se zeptat, co říkáte na PHP6? Docela mě štve, že neodstranili klíčové slovo "var", a nechali ho jako alias k public... Taky by mohli přidat povinné psaní modifikátorů přístupu, když už jsem u toho public.

Jaký máte pocit z 6-tky vy?

Odpovědět
26.9.2013 10:57
Neaktivní uživatelský účet
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Neaktivní uživatel
David Hartinger:26.9.2013 11:34

PHP syntaxi příliš neodstraňuje kvůli dodržení zpětné kompatibility. Nevýhoda je, že se pak najdou lidé, co si budou myslet, že psát var místo public je cool :)

Nahoru Odpovědět
26.9.2013 11:34
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Kit:26.9.2013 12:54

Je to jednoduché. Prostě klíčové slovo var nepoužívám. Povinné modifikátory nejsou ani v Javě, proč by měly být v PHP?

Nahoru Odpovědět
26.9.2013 12:54
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na David Hartinger
Neaktivní uživatel:26.9.2013 15:36

V tomhle případě bych na kompatibilitu kašlal. PHP4 prostě patří do popelníku.

Kit: pokud vím, Java je povinné má, ale asi se mýlím?

Nahoru Odpovědět
26.9.2013 15:36
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Kit:26.9.2013 15:42

Modifikátory v Javě:

  • public
  • protected
  • friendly
  • private

"friendly" se neuvádí, prostě se nepíše žádný modifikátor.

Nahoru Odpovědět
26.9.2013 15:42
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Neaktivní uživatel:26.9.2013 15:50

Do Javy moc nedělám, ale bylo by fajn to v PHP vyřešit stejně jako ve vyšších jazycích.

Nahoru Odpovědět
26.9.2013 15:50
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Kit:26.9.2013 15:53

Ve kterých vyšších jazycích?

Nahoru Odpovědět
26.9.2013 15:53
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Neaktivní uživatel:26.9.2013 15:55

Ježiš pardon, já sem blb. Samozřejmě jsem myslel typy proměnných. V PHPčku se to totiž "koná automaticky", zatímco v jiných jazycích je pokud vím povinné je psát.

Nahoru Odpovědět
26.9.2013 15:55
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Kit:26.9.2013 15:57

Aha, myslel jsi datové typy. V interpretovaných jazycích jsou obvykle nepovinné. V Javě se také na kdeco dá použít typ Object.

Nahoru Odpovědět
26.9.2013 15:57
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Neaktivní uživatel:26.9.2013 16:06

Ano, ale PHP je obecně strašně tolerantní jazyk, mimo jiné by to alespoň "zpřísnilo" pravidla.

Když už mluvím o tom zpřísnění, vývojáři by se nad tím mohli zamyslet. Programátor může napsat spoustu chyb, kterých si PHP ani nevšimne. Představoval bych si něco jako debugger v Nette.

Nahoru Odpovědět
26.9.2013 16:06
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Neaktivní uživatel:26.9.2013 16:06

Ale to je asi jenom moje fantasie. :D

Nahoru Odpovědět
26.9.2013 16:06
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Kit:26.9.2013 17:57

Zpřísnit pravidla můžeš jednoduše tím, že budeš psát testy. PHP ti zkontroluje syntaktické chyby a test odhalí logické chyby. Debugger je zbytečný.

Nahoru Odpovědět
26.9.2013 17:57
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Neaktivní uživatel:26.9.2013 18:59

Debbuger je dobrý v tom (pokud je dobře napsaný), že ti přesně vypíše, kde je původce chyby a kde se chyba objevuje (na jakým řádku, ukázka kódu...). Alespoň v Nette je tak napsaný.

Nahoru Odpovědět
26.9.2013 18:59
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Kit:26.9.2013 19:21

Testy ti udělají úplně stejnou službu, akorát je nemusíš spouštět ručně jako debugger, ale jedou automaticky. Otestovat 1000 tříd během minuty není problém. To s debuggerem nedokážeš.

Editováno 26.9.2013 19:21
Nahoru Odpovědět
26.9.2013 19:21
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Neaktivní uživatel:26.9.2013 19:59

A jak chceš řešit začínající programátory?

PHP nejsou jenom třídy.

Nahoru Odpovědět
26.9.2013 19:59
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Kit:26.9.2013 20:11

Testovat se dají i funkce a dokonce i špagety. Jenom to není tak elegantní a účinné. Začínající programátoři by měli začít používat OOP co nejdřív, dokud se jim z těch špaget neudělá špatně.

BTW: Mimo třídy mívám v celé aplikaci cca 10-40 řádek (main). Zbytek jsou třídy.

Editováno 26.9.2013 20:13
Nahoru Odpovědět
26.9.2013 20:11
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Neaktivní uživatel:27.9.2013 15:01

My možná ano, ale neházej všechny do jednoho pytle. Musíš uznat, že debugger by byl dobrá pomůcka. Nevím jestli je řešení začínajících programátorů typem "Se to nauč" dobrá praktika...

Nahoru Odpovědět
27.9.2013 15:01
Neaktivní uživatelský účet
Avatar
Odpovídá na Kit
Michal Žůrek - misaz:27.9.2013 15:05

Mě třeba se spagheti paradoxně ladí líp. Nepřeskakuje se furt ze souboru do souboru.

 
Nahoru Odpovědět
27.9.2013 15:05
Avatar
Odpovídá na Michal Žůrek - misaz
Neaktivní uživatel:27.9.2013 15:07

Mno, ono tam to přeskakování k něčemu je... :) Když máš i nějaký slušný editor, to přeskakování je jednodušší.

Nahoru Odpovědět
27.9.2013 15:07
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Michal Žůrek - misaz:27.9.2013 15:37

však ano, ale i to mi vadí. Protože pak když mám rozlehlejší projekt (ve více souborech) tak pak pomalu ani nevím kde jsem skončil.

 
Nahoru Odpovědět
27.9.2013 15:37
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Michal Žůrek - misaz
Kit:27.9.2013 16:06

To přece poznáš i podle názvu třídy. Shoduje se s názvem souboru.

Využívám toho, že si editor pamatuje, kde byl před odskokem. Při používání TDD těch odskoků moc nebývá. Třídu, testy i mocky většinou nacpu do jednoho souboru.

Nahoru Odpovědět
27.9.2013 16:06
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Kit:27.9.2013 16:09

Debugger byl svého času dobrou pomůckou, ale už ho nepotřebuji. Testy ho nahradily víc než dobře.

Nahoru Odpovědět
27.9.2013 16:09
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Neaktivní uživatel:27.9.2013 16:32

Nesouhlasím s tím úplně, alento teď vytahovat nechci. Jistě víš sám, že většina programátorů testy zkrátka nepíše.

Nahoru Odpovědět
27.9.2013 16:32
Neaktivní uživatelský účet
Avatar
Neaktivní uživatel:29.9.2013 20:02

Počkat, ono existuje PHP 6?

Nahoru Odpovědět
29.9.2013 20:02
Neaktivní uživatelský účet
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Neaktivní uživatel
David Hartinger:29.9.2013 20:03

Ne, ale překvapivě je o něm napsáno spoustu knih :)

Nahoru Odpovědět
29.9.2013 20:03
New kid back on the block with a R.I.P
Avatar
Odpovídá na David Hartinger
Neaktivní uživatel:29.9.2013 20:04

Taky jsem se divil

Nahoru Odpovědět
29.9.2013 20:04
Neaktivní uživatelský účet
Avatar
Nahoru Odpovědět
30.9.2013 13:13
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Kit:30.9.2013 13:29

Doufejme, že si dá na čas. Vlastně je mi záhadou, proč by měla šestka vzniknout, protože nové funkcionality se kupodivu přidávají do minoritních verzí. Takže se možná dočkáme toho, že po PHP 5.5 vyjde verze 5.6, které se zkráceně bude říkat PHP6, po ní PHP7,... Asi jako s Javou.

Nahoru Odpovědět
30.9.2013 13:29
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Kit
Neaktivní uživatel:30.9.2013 13:40

Což PHP6 ani nemá tak zásadní nové funkce... Ale ono je to o tom slovíčkaření, nová verze vyjde tak jako tak.

Nahoru Odpovědět
30.9.2013 13:40
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Kit:30.9.2013 13:55

Už 5.5 má jen minimum užitečných novinek. Někteří si rozbijí své aplikace použitím traits, jiní zase budou zneužívat finally. Obě funkcionality jsou v PHP kontroverzní a jejich používání nedoporučuji.

Nahoru Odpovědět
30.9.2013 13:55
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Kit
David Hartinger:30.9.2013 13:57

Mám stejný názor, alespoň nám ale přibyly opcache.

Nahoru Odpovědět
30.9.2013 13:57
New kid back on the block with a R.I.P
Avatar
Kit
Tvůrce
Avatar
Odpovídá na David Hartinger
Kit:30.9.2013 14:10

OPcache se dá doinstalovat i do PHP 5.2, 5.3 a 5.4

Nahoru Odpovědět
30.9.2013 14:10
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
VelkyBubak
Člen
Avatar
VelkyBubak:23.10.2013 15:45

Měl bych blbý dotaz: Kde se dá o PHP6 něco dozvědět?
Třeba dle <a href="http://­php.net">php.net</a> je aktuální verze 5.5.5

Editováno 23.10.2013 15:46
 
Nahoru Odpovědět
23.10.2013 15:45
Avatar
Kit
Tvůrce
Avatar
Odpovídá na VelkyBubak
Kit:23.10.2013 15:52

PHP6 zatím nebude a je zbytečné o něm něco hledat. Mluví a píše se o něm až příliš dlouho.

Nahoru Odpovědět
23.10.2013 15:52
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 34 zpráv z 34.