Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: PHP6

PHP PHP PHP6 American English version English version

Aktivity (1)
Avatar
Inoue Yūki
Redaktor
Avatar
Inoue Yūki: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
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Inoue Yūki
David Čápka: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  +1 26.9.2013 11:34
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Inoue Yūki
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
Inoue Yūki
Redaktor
Avatar
Odpovídá na David Čápka
Inoue Yūki: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
Avatar
Kit
Redaktor
Avatar
Odpovídá na Inoue Yūki
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
Inoue Yūki
Redaktor
Avatar
Odpovídá na Kit
Inoue Yūki: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
Avatar
Kit
Redaktor
Avatar
Odpovídá na Inoue Yūki
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
Inoue Yūki
Redaktor
Avatar
Odpovídá na Kit
Inoue Yūki: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
Avatar
Kit
Redaktor
Avatar
Odpovídá na Inoue Yūki
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
Inoue Yūki
Redaktor
Avatar
Odpovídá na Kit
Inoue Yūki: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
Avatar
Inoue Yūki
Redaktor
Avatar
Odpovídá na Inoue Yūki
Inoue Yūki:26.9.2013 16:06

Ale to je asi jenom moje fantasie. :D

Nahoru Odpovědět 26.9.2013 16:06
Avatar
Kit
Redaktor
Avatar
Odpovídá na Inoue Yūki
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
Inoue Yūki
Redaktor
Avatar
Odpovídá na Kit
Inoue Yūki: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
Avatar
Kit
Redaktor
Avatar
Odpovídá na Inoue Yūki
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
Inoue Yūki
Redaktor
Avatar
Odpovídá na Kit
Inoue Yūki: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
Avatar
Kit
Redaktor
Avatar
Odpovídá na Inoue Yūki
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
Inoue Yūki
Redaktor
Avatar
Odpovídá na Kit
Inoue Yūki: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
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
Nesnáším {}, proto se jim vyhýbám.
Avatar
Inoue Yūki
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Inoue Yūki: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
Avatar
Odpovídá na Inoue Yūki
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
Nesnáším {}, proto se jim vyhýbám.
Avatar
Kit
Redaktor
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
Redaktor
Avatar
Odpovídá na Inoue Yūki
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
Inoue Yūki
Redaktor
Avatar
Odpovídá na Kit
Inoue Yūki: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  +2 27.9.2013 16:32
Avatar
Jakub Šárník:29.9.2013 20:02

Počkat, ono existuje PHP 6?

 
Nahoru Odpovědět 29.9.2013 20:02
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Jakub Šárník
David Čápka:29.9.2013 20:03

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

Nahoru Odpovědět  +3 29.9.2013 20:03
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Odpovídá na David Čápka
Jakub Šárník:29.9.2013 20:04

Taky jsem se divil

 
Nahoru Odpovědět 29.9.2013 20:04
Avatar
Inoue Yūki
Redaktor
Avatar
Odpovídá na Jakub Šárník
Inoue Yūki:30.9.2013 13:13

Teprve vyjde.

Nahoru Odpovědět 30.9.2013 13:13
Avatar
Kit
Redaktor
Avatar
Odpovídá na Inoue Yūki
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
Inoue Yūki
Redaktor
Avatar
Odpovídá na Kit
Inoue Yūki: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
Avatar
Kit
Redaktor
Avatar
Odpovídá na Inoue Yūki
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  +1 30.9.2013 13:55
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Kit
David Čápka: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
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na David Čápka
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 php.net 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
Redaktor
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.