Na navigaci | Klávesové zkratky

Translate to English… Ins Deutsche übersetzen…

Děšení na PHP 5.2

Každou další verzi PHP očekávám se zděšením. Vždy trnu, co zase bude jinak. Pak dlouhé hodiny procházím changelog a pročítám PHP Internals, abych pochopil souvislosti.

PHP Od vývoje PHP očekávám především podporu Unicode a opravení nedostatků objektového modelu. To první nepřijde dříve než se šestou verzí. To druhé je zcela ve hvězdách. Kdo očekával od PHP 5.2 late static binding, byl nejen zklamán (vývojáři to nepovažují za důležité), ale dokonce dostal facku v podobě zamítnutí abstract static function. A buďme rádi, že to negeneruje fatal error, bylo to v plánu.

Že je objektový model PHP děravý jako řešeto, to by tak nevadilo. Chyby lze reportovat. Co však nelze, tak je obhájit. Dohadujte se s arogantním programátorem, který sám píše v neobjektovém jazyce C, o objektech… Já už na to nemám sílu.

Pěkným příkladem je Reflections. V každé „setinkové“ verzi se chová mírně jinak. Mírně jinak blbě, abych byl přesný. Podívejte se třeba, jak vývojáři chápou privátní metody:

class ParentClass
{
    private function foo() {}
}

class Child extends ParentClass
{
}

// prozkoumáme třídu Child
$rc = new ReflectionClass('Child');

// má metodu foo() ?
echo $rc->hasMethod('foo'); // vrací TRUE!

Takových nesmyslů se dá najít celá řada. Dosáhnout jejich opravení je však nemožné. Doufal jsem, že za nás budou orodovat programátoři Zend Framework, ale byly to plané naděje.

Co tedy mohou přinést nové verze PHP? Problémy…

Komentáře

  1. error414 http://www.error414.com #1

    avatar

    Clanek do me vnesl beznadej a smutek. Zacina to byt cim da horsi a horsi. Jen cekam kdy nasatne ten zlom a PHP se uplne zavrhne, nebo se udela poradne.

    Jelikoz vyvojari uz mrvy i opravy tak je cas jim rozbit PC basebalovou palkou.

    před 10 lety
  2. Hds #2

    Ach jo, to je fakt na zbláznění. PHP by mohlo být nádherný jazyk, zároveň jednoduchý i „powerful“, ale tyhle věci ho srážejí na zem… Abych se začal učit Ruby nebo Python.

    před 10 lety
  3. Michal #3

    Pratele, je cas na zmenu – www.djangoproject.com

    Jestli mate radi Python, zkuste Django. Narozdil od ROR neni tak prospikovany Javaskriptem a drzi se pri zemi. Pise se v tom hodne pekne a prehledne.

    Minimalne za ochutnavku skutecne stoji…

    před 10 lety | reagoval [29] Jakub Hegenbart
  4. Pavel Richter http://www.pavelrichter.net/ #4

    Začíná z toho být trend.
    Nová verze: nové chyby a ty staré příliš neopravené. Navíc nasazování těchto verzí na web půjde hodně pomalu … neznalému zákazníkovi je jedno, na čem to jede, hlavně když to jede tak, jak on chce. A nedejbože to nějak měnit :)
    No, chtěl bych se kouknout do budoucnosti, jak na tom bude PHP tak za 5let…

    před 10 lety | reagoval [7] David Grudl
  5. Pavel http://www.lasakovi.com/pavel/ #5

    Co by dělali programátoři, kdyby vše pěkně šlapalo ? O čem by psali v blozích?

    Na druhou stranu dopracovat PHP bude to krasný jazyk, už tak má mnoho přednosti. JAk se říká v jednoduchosti je krása…

    <offtopic>Mám pozdravovat od Ing. Petra Nožičky, chemika z Pardubic…

    před 10 lety | reagoval [7] David Grudl [14] llook
  6. Človíček http://weblog.clovicek.net #6

    avatar

    Už by se nad tím opravdu měli zamyslet, přeci by se měli snažit, aby lidi co v php píší měli co nejméně problémů. Takto akorát naštvou spoustu lidí!

    před 10 lety
  7. David Grudl http://davidgrudl.com #7

    avatar

    #4 Pavle Richtere, trendem se stalo vydat verzi a o dva dny později vydat další, opravnou. Vlastně už si to ani jinak nedovedu přestavit.

    #5 Pavle, (ad Nožkin) ale, odkud se znáte? :-)

    před 10 lety | reagoval [10] Pavel
  8. ehmo #8

    Uz zmenu 4 → 5 boli zasadne a teraz budu v kazdej verzii menit funkcnost? radost, pomaly z toho zacina byt kocurkovo a to uz doteraz stalo za prdlajs. Nebodaj chcu zendaci znechutit phpcko?

    před 10 lety
  9. ehmo #9

    nepripomina ti to windows? zeby v tom mali pani z ms prsty? :)

    před 10 lety | reagoval [14] llook
  10. Pavel #10

    #7 Davide Grudle, z vlaku, jaksi v patečním 100 minutovém zpoždění, pak ještě výměna lokomotivy (ne za vodku). Tak nějak se lidi dají do řeči… :) a zjisti zajímavé věci…

    před 10 lety | reagoval [27] David Grudl
  11. Ondra #11

    avatar

    Mně PHP5.2 nepomuze!! A kdy vyjde PHP6?

    před 10 lety
  12. paranoiq #12

    late static building není chyba – vývojáři jej prohlásili za vlastnost (třikrát hurá :[ ). ‚skutečnou‘ chybou je třeba nemožnost statickéno volání __call(), což je v buglistu již dva roky a vývojáři to neřeší.

    před 10 lety | reagoval [14] llook
  13. error414 http://www.error414.com #13

    avatar

    A je vubec nejake reseni tohoto problemu? Kdyz na nas uz i vyvojari jazyka dlabou?

    před 10 lety
  14. llook http://llook.wz.cz/weblog/ #14

    avatar

    #5 Pavle, O čem by psali. Podívej se na vyvojar.cz, o čem bloggeři fungující technologie píší.

    #9 ehmo, Většina Windows API je bezva, trochu to ale připomíná některé části, třeba Direct3D, tam ty přechody mezi verzema bývali hustý…

    #12 paranoiqu, To víš, jsou všichni strašně vytížení a nikdo nemá čas to označit za vlastnost. :-)

    před 10 lety
  15. Martin #15

    Vývojáře PHP začínám čím dál tím víc považovat za bandu prasat, která z prasení udělala cíl a neschopnost povýšila na výhodu.

    Možná se nakazili od většiny uživatelů tohoto jazyka, nevím. Ale celé PHP se řítí do pekla.

    Myslím že pomalu nastává čas tento vlak smrti opustit.

    před 10 lety
  16. Tomáš Hubálek http://blog.hubalek.net #16

    avatar

    Podle mě je jediný důvod proč PHP neignorovat jeho podpora hostingovými firmami. Implementace tohoto jazyk je vysloveně špatná a podpora vývojářů stejně tak.

    Už by se měl konečně ustanovit nový „standard“, co má slušný webhosting splňovat, protože investovat do aplikace napsané v PHP jsou vyhozené peníze!!!

    před 10 lety | reagoval [19] Vasek
  17. noname http://kapler.cz #17

    promiňte, opravte ignoranta (mě) – jaké je licence php? jestli je to closed-source – byl by takový problém udělat plně kompatibilní open-source engine, který by byl plně kompatibilní s pětkou i čtyřkou?

    před 10 lety | reagoval [27] David Grudl
  18. ivan_d #18

    Tak si taky přisadím. Používal jsem knihovnu nusoap (nepovažuji ji za úžasnou, ale fungovala), po přechodu na php5 nastal problém – redefinice třídy soapclient. Inu přejmenovat a jde se dál. Pro práci s časem jsem si vytvořil třídu DateTime. A nyní (jak jsem se dočetl) budu muset opět přejemenovávat. První myšlenková obhajoba php – to mi mohli udělat i v javě, či pythonu byla hned vyvrácena: nemohli. I na tom je vidět, že php nemá žádný rozumný domyšlený koncept. Přitom i třeba python začínal jako nástroj pro jednoduche několikařádkové skripty.

    Bohužel, jakmile byl jednou na začátku projektu zvolen špatný jazyk, už se ho člověk nezbaví.

    před 10 lety
  19. Vasek #19

    #16 Tomáši Hubálku, Az bude libovolny jiny jazyk pouzitelny ve sdilenem webhostingovem prostredi jako PHP, neni problem ho nasadit. U PHPcka staci nastavit open_basedir, safe_mode + par drobnosti a uzivatel se nedostane ven ze sveho domovskeho adresare (pokud teda neni php deravy jak reseto :)).

    Druha vec je ta, ze proste po „alternativnich“ resenich neni poptavka. Troufnu si rict, ze (z linux zakazniku) 95% chce PHP+MySQL, 4% PHP+PgSQL a zbytek jine programovaci jazyky+Firebird/SQLite. A nic na tom nezmeni narky advanced programatoru, kteri (pravem) nadavaji, ze php je bastl. S tim taky souhlasim, ale co se da delat…

    před 10 lety
  20. Majkls #20

    Já se zastanu programátora v jazyce C.

    1. PHP nikdy nebylo určeno primárně pro OOP.
    2. OOP je stejně jen berla, nechte céčkaře bejt :-) Projekt se dá napsat i bez OOP. To, že si bez něj nedokážete představit život, je druhá věc.
    3. Pokud někdo chce OOP, proč nezačal už dávno používat ruby nebo python, což jsou fajn platformy pro OOP a taky tam to OOP za něco stojí. Furt jen brečíte, jak je PHP k ničemu, jinám se vám nechce (je veřejný tajemství, že PHP je bastl).

    A co se problémů s dalšími jazyky týče… Ono by se dalo ledacos, kdyby se chtělo. nebudu jmenovat konkrétní firmy, které na hostingu další jazyky mají. Je to jen otázka poptávky a nabídky. Zrovna nedávno po mě chtěl někdo pythona v cgi… no a má ho! :).

    před 10 lety | reagoval [27] David Grudl
  21. Radek Cervinka #21

    Sem tam čtu tady nářky nad problemy s PHP (naposledy s optimalizaci PHP) a je mi Vás fakt lito.
    Programoval jsem v nem chvilku (jeden z projektu je zde http://coins.azz.cz/) a po letech v objektovem prostedi s duslednou typovou kontrolou (Delphi, C#) jsem si rval vlasy.
    PHP je hrozny bastl.
    Nastesti ted muzu programovat pro web (jinak programuji gui app) v ASP.NET a opet mam vlasy na hlave (kdo nezkusil, neuveri).
    PHP bych nikdy nepouzil na nic vetsiho nez tak 200 radku.

    Mimochodem vrele doporucuji IronPython (implementace Python pod .NET)
    http://blogs.msdn.com/…asp-net.aspx

    Jinak treba forpsi nabizi hosting s ASP.NET za stejnou cenu jako s PHP

    před 10 lety | reagoval [27] David Grudl
  22. pkm #22

    PHP to už není jazyk, to je bastl pro amatéry. Nechápu schopné vývojáře, co v tom dělaji. Jediné co chápu je to, že je dostupný na free hostincích. Ochutnejte Ruby a na už budete chtít šáhnout jen dvoumetrovým klackem.

    před 10 lety | reagoval [25] Michal
  23. Whitek http://javabench.com #23

    avatar

    Otazka do plena: co se tedy vyplati ucit (kdyz je PHP takovy „bastl“)? Melo by to byt pokud mozno jednoduche a efektivni pro praci ; )
    Vyplati se ten Python? Ruby?

    před 10 lety
  24. Valis #24

    Ty Spajky,
    a proč namísto IronPythonu nedáš šanci přímo Pythonu?

    A jak se jinak máš šéfe? Prgáš weby?

    před 10 lety | reagoval [30] Radek Cervinka
  25. Michal #25

    #22 pkme, No jasně, že váháš…

    Projeď si tutorial Djanga je to fakt jednoduché.

    Pokud bych to měl shrnout a zjednodušit, tak:

    • vytvoříš si model (atributy budou odpovídat sloupcům v tabulce); z modelu se ti automaticky vygenerují příslušné tabulky v databázi
    • vytvoříš si view – funkce, které jsou zodpovědné za přípravu dat pro konkrétních stránky (třeba vytažení posledních 10 zpráv) a jejich prezentaci
    • vytvoříš si šablonu, která z dodaných dat vygeneruje HTML
    • vytvoříš sadu regulárních výrazů, které namapují konkrétní view na URL

    Hotovo. Možná to zní příliš složitě, ale zkus se začíst do toho tutorialu.

    Jediný problém který by tě od Djanga mohl odradit je hosting. Jak už se tu několikrát zmiňovalo, není to ještě tak obvyklé a budeš se muset poohlédnout po firmě, která ti ho bude schopná nainstalovat.

    před 10 lety | reagoval [27] David Grudl
  26. Lukoko #26

    avatar

    Čas přejít na Python ;-)

    před 10 lety
  27. David Grudl http://davidgrudl.com #27

    avatar

    #10 Pavle, ať už říkal cokoliv, tak to jsou jen smyšlené pomluvy :-))

    #17 noname, je to open source pod svobodnou licencí

    #20 Majklsi, že PHP původně nebyl objektově orientovaný jazyk není argument. To totiž nebyla ani řada dalších populárních jazyků. Pokud se však jednou k objektové orientaci rozhodli, tak podle toho mám očekávání a jazyk kritizuji.

    Problém vidím v tom, že naprogramovat interpreter a navrhnout jazyk jsou dvě naprosto odlišné disciplíny. V případě PHP se obojího zhostují titéž lidé a na výsledku je to znát. Bohužel.

    Věřím, že jde o špičkové kódéry, ale jakmile začnou kecat do návrhu jazyka, táhnou jej ke dnu. Neobjektovou část jazyka PHP považuji za výborné dílo. Naopak objektová sféra je z 90 % pofiderní. A chyby plodí další chyby.

    #21 Radku Cervinko, články o optimalizaci rozhodně nebyly nářky!

    #25 Michale, to už ale srovnáváš jazyk a framework…

    před 10 lety | reagoval [28] Michal [31] Majkls
  28. Michal #28

    #27 Davide Grudle, Aha, no jo… :)
    Tak jinak – Python je hezky jazyk a Django pekny framework napsany v Pythonu…

    před 10 lety
  29. Jakub Hegenbart #29

    #3 Michale, Nějak nerozumím tomu, co na RoR je „prošpikované JavaScriptem“ – nikdo ho nikoho nenutí používat a generovat v RoR „plain 'ole HTML“ je trivialita. A jinak, jak v Pythonu, tak i v Ruby (a vlastně i v Perlu) si člověk může vybrat ze spousty pomůcek na tvorbu webu a určitě se najde něco, co mu sedne. ;-)

    před 10 lety | reagoval [32] Michal
  30. Radek Cervinka #30

    #24 Valisi, Zdar Valis, protože mám rád určitý komfort a navíc .NET je fakt velmi dobrá platforma. Jinak weby moc nedělám, spíše jako doplněk IS. Ty mince jsou taková nezisková srdeční záležitost :-)

    Nechci být za nějakého zaslepence, ale dokud jsem nezkusil ASP.NET tak jsem si říkal jak je PHP cool pro web.

    Dám příklad: potřebujete odeslat formulář. Takže na formulář dáte tlačítko, poklepete na něj a IDE vám vygeneruje kostru obsluhy (jako v Delphi a dalších RAD).

    Napíšete obsluhu a chcete to odladit. Tak tam date breakpoint a po stisknutí tlačítka v browseru se vám to zastaví v debuggeru.
    Nehledě na to že spousta chyb se odchytí už při překladu (kompilovaný a navíc strikně typový jazyk) – na rozdíl od PHP.
    Navíc si můžete vybrat jazyk v kterém chcete programovat (C#, VB, IronPython, ObjectPascal …).

    před 10 lety | reagoval [31] Majkls
  31. Majkls #31

    #27 Davide Grudle, chápu tvé rozhořčení nad nesplněnými touhami. Byl jsem pesimistou nad OOP v PHP od doby, kdy mi kamarád řekl, že tam něco nefunguje, jak by mělo. když se jednou něco neudělá pořádně, obvykle se problém vleče. PHP je toho dobrým příkladem. Co se C# týče. Slyšel jsem hoodně zajímavých názorů o tomto jazyku. Například jeden programátor nadával, jakej to je bastl. Co se typovosti týče. Nevidím v tom příliš velkou výhodu. Vstupy se musí ošetřit u obojího. Jak u typového, tak u netypového jazyka.
    #30 Radek Cervinka
    …poklepete na něj a IDE vám vygeneruje kostru obsluhy (jako v Delphi a dalších RAD)…

    Mno ale ASP.NET je horší v tom, že za sebou tahá hromadu bordelu a tak například obyčejný kalendář vyžaduje DOM Javascript. Ale myslím, že o tom už tu DGX jednou mluvil. Samozdřejmě pokud to uživatelům neavadí a nevypínaj si JS, je to fajn. Měl jsem nainstalený mono. Zajímavá platforma. Ale příde mi skoro jedno, jestli napíšu celý formulářový tlačítko, nebo jestli mi ho vygeneruje funkce, když tam stejně musím napsat styl, name, value, id… Takže je lepší si stejně napsat vlastní funkci. Míň balastu. Ušetřená práce ± žádná. Generátory kódu jsou fajn. Určitě ušetří spustu času. Ale takový generátor se dá sesmolit i pro PHP, Ruby, Python, Perl… a nepotřebuju k tomu .NET. Takže to je otázkou IDE.

    Například Na pythonu se mi líbí volání funkcí. napíšu si jména funkcí. a pak je volám přímo parametrem v url. to je celkem fajn, ne? Neříkám, že to nejde udělat jinde. Určitě by to nebyl problém.

    před 10 lety | reagoval [34] Radek Cervinka
  32. Michal #32

    #29 Jakube Hegenbarte, Když se dnes člověk rozhodne psát nějaký web projekt, určitě po chvilce Googlení najde nějaký ten framework, nebo minimálně návod, jak ho zrealizovat v jazyce, který mu je blízký.

    Dělám 3 roky v PHP. Jsem si naprosto jistý tím, že pokud člověk není prase, tak s PHPkem (ale vlastně s jakýmkoliv jiným jazykem) může dělat divy. Nicméně kdysi jsem ochutnal Python a strašně se mi zalíbil. Začal jsem ho používat na systémové věci a začal koketovat s myšlenkou využít jej i pro weby.

    Narazil jsem na Zope/Plone. Vypadalo to slibně, ale po čase jsem pochopil, že ochočit tuhle bestii nebude jen tak. Věnoval jsem mu nemálo času, ale pořád jsem nebyl schopen dělat věci podle sebe. Neustále jsem se musel podřizovat hotovým řešením.

    Pak přišla frustrace, a další hledání. Narazil jsem na ROR, ale nechtělo se mi učit další jazyk. Navíc jsem přesvědčen, že efektivita práce v Ruby a v Pythonu bude podobná.

    No a pak jsem objevil Django, a byl jsem v sedmém nebi. Je to opravdu pěkný framework, a konečně mám pocit, že se v tom dá i programovat (naražím na Zope/Plone).

    To tvrzení, že „…ROR je prošpikovaný Javaskriptem…“ jsem nabyl v minulosti po prolézání zahraničních webům, které byly napsány v ROR. Většina z nich byla silně „AJAXová“, samý efekt, samé dynamické změny v HTML (prostě Web 2.0 hype). V mailing listu Djanga se často řeší, jak je na tom právě s podporou AJAXu, a jako příklad je obvykle zmiňován ROR (který je v tomto ohledu údajně dál).

    Takže tak… :)

    před 10 lety
  33. Bach #33

    Proč musím v PHP pristupovat k atributům a metodám přes šipku i uvnitr třídy?

    před 10 lety
  34. Radek Cervinka #34

    #31 Majklsi, :), vetsina komponent je psana tak ze v pripade kdy je dostupny javascript tak se pouzije, kdyz neni tak se automaticky provede volani pres server.
    Typicky: validace vstupnich polozek formulare
    (dostupny JS? ano – provede se validace na klientu, neni? neva – provede se validace pres server)
    A ty pro to nemusis ani hnout prstem, mas pro to jeden kod (no kod – nastavis jednu vlastnost na komponente)

    Ad ten kalendar: Nelibi se ti? Pouzijes jiny.

    Ale hlavne jsou to kompilovane jazyky, takze vetsina veci je odchycena uz pri prekladu. Takze usetrim tak +60% casu ladeni a navic mam urcitou jistotu. To se ale blbe vysvetluje programatorum v PHP, kteri pouzivaji jednu a tu samou promennou jednou jako string a o kousek dale jako cislo.

    … Například Na pythonu se mi líbí volání funkcí. napíšu si jména funkcí. a pak je volám přímo parametrem v url. to je celkem fajn, ne? …
    neni to ale trochu nebezpecne?

    před 10 lety | reagoval [36] Majkls
  35. finc #35

    Nevím, proč tady všichni nadávají tolik na PHPko a pak v něm více jak polovina programuje. Tvrdit, že .NET je lepší, je jako se hádat, zda Linux nebo Windows. Obojí má svá specifika a člověk by sám měl přejít na to, co je mu bližší.
    v PHP programuji vetší intranetovy web. projekt, který jsem postavil na PHP5. Pravdou je, že mě štve dost věcí, ale i přesto si myslím, že PHP je použitelný jazyk i ve větších projektech a hlavně je použitelný i jako OOP jazyk, i když s určitými omezeními. Co by se podle mě mělo změnit:

    1. Typová kontrola, naprosto zásadní věc pro OOP
    2. Sjednocené názvy metod, sjednocené pořadí vstupních parametrů + vyhazování vyjímek, narozdíl od mixování typu Boolean, String, apod.
    3. Nějaký balíčkovací systém na třídy
    4. Přepracování OOP Modelu podle předešlých bodů.

    Myslím, že by pak konečně mohli vznikat zajímavé frameworky, které by se postupně standardizovali.

    před 10 lety
  36. Majkls #36

    #34 Radku Cervinko, neni to ale trochu nebezpecne?
    … od čeho máme protected a private v OOP, že :))…

    Ale hlavne jsou to kompilovane jazyky, takze vetsina veci je odchycena uz pri prekladu

    ale těch 40% bezpečnostních děr se při překladu neodchytí. Apropo řekl bych, že to není 60%, ale méně. Teda pokud někdo takhle prasí kód :)). Nicméně semikompilované jazyky určitě nejsou špatné. Jinak používat proměnnou jako string i jako číslo, to je benefit netypových jazyků. Proč se starat o konverzi, když mi ji jazyk udělá sám. A s bezpečností se neohánějte. Ona v těch typovejch není rozhodně lepší než v netypovejch. To je jen iluze. Pravda pro kontrolu čísel musím u netypového PHP přetypovat proměnnou. Někde jsem o tom četl skvělý článek.

    Ad ten kalendar: Nelibi se ti? Pouzijes jiny.

    No vidiš, to už si zrovna můžu napsat vlastní. Asi stejný jako s názvy měsíců v locale. Prostě nemaj října, tak musim mít vlastní pole, kde bude října. Prostě univerzální != všeřešící. Některý věci jsou tak obecný, že se vyplatí si napsat vlastní specializovanou. Ale je fakt, že jelikož asp.net má všechno tohle integrovaný v sobě tak to je daleko rychlejší a efektivnější, než to mít hozený kdesi vedle byť ve formě frameworku.

    před 10 lety
  37. Martin Snížek http://www.snizekweb.cz #37

    No vidíš Davide, a ty ses se mnou hádal ;-)

    http://www.snizekweb.cz/…/php-k-cemu/

    před 10 lety
  38. In-počasí http://www.in-pocasi.eu #38

    avatar

    Povedený článek

    před 10 lety | reagoval [39] zirafka
  39. zirafka http://zirafka.cz #39

    avatar

    #38 In-počasí, Přeji příjemné a ničím nerušené spamování komentářů /-:

    před 10 lety | reagoval [40] David Grudl
  40. David Grudl http://davidgrudl.com #40

    avatar

    #39 zirafko, to je za dnešní den jediná pochvala, to nemůžu smazat

    před 10 lety | reagoval [42] zirafka
  41. In-počasí #41

    Tady nešlo o spam, stejně je tady nastaveno rel=„nofolow“

    před 10 lety | reagoval [42] zirafka
  42. zirafka http://zirafka.cz #42

    avatar

    #40 Davide Grudle, ale tenhle smazat muzes. Tam Te nechvali (-;

    #41 In-počasí, . Tady nešlo o spam, stejně je tady nastaveno rel=„nofolow“
    Ale to sis vsiml, az jsi to poslal, ne?!

    před 10 lety
  43. pawel #43

    O Django jsem slysel, rad se na nej podivam. Jinak jsem se zacal zabyvat RoR a musim rict, ze neni prospikovane javascriptem. Jedna se o formu view – klasicke rhtml nemusi obsahovat zadny javascript. Javascript to obsahuje, pokud se dela nejaka Ajaxova frajerinka, a to pak je view rjs soubor.

    před 10 lety
  44. attila szabó http://w3net.eu/ #44

    `
    class CollectionBase implements IteratorAggregate, Countable {

    public function addItem($newItem, $key = null) {

    }
    }

    class SurveyCollection extends CollectionBase {

    public function addItem(Survey $newItem, $key = null){
    parent::addItem($newItem, $key);
    }
    }
    `
    Strict Standards: Declaration of SurveyCollection::addItem() should be compatible with that of CollectionBase::addItem() in …

    WTF?
    Tak toto ma znechutilo. Takto sa neda programovat v OOP. To je o nicom. Preco nemozem pouzit „type hint“ v child class? Ved je to uplne logicke, no nie?

    před 10 lety
  45. Marty http://martinvseticka.eu #45

    Možná by pomohlo napsat phpt test: http://qa.php.net/write-test.php, čož by mělo zaručit, že tenhle problém znovu nenastane.

    před 9 lety

Tento článek byl uzavřen. Už není možné k němu přidávat komentáře.