Avatar
Inoue Yūki
Redaktor
Avatar
Inoue Yūki:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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):

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:

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):

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:

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:

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:

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:

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:

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
Kit
Redaktor
Avatar
Odpovídá na Inoue Yūki
Kit:

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:

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:

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:

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:

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:

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:

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.