abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:22 | Zajímavý software

    Na Slovensku vznikla úplne nová rally hra, ktorá je zadarmo a funguje vo Windowse, Linuxe či na Macu. Greenie Rally má viac ako 50 tratí a vozidiel, šampionáty či turnaje. Má retro feeling a imituje automobilové hry z prelomu tisícročí. Vyskúšate prejsť všetky mapy na Škode 130RS?

    Stanislav Hoferek | Komentářů: 0
    včera 14:33 | Komunita

    Do základního systému NetBSD -current byl přidán nový editor atto jako alternativa k editorům vi a xedit.

    Ladislav Hagara | Komentářů: 1
    včera 14:11 | IT novinky

    Společnost System76 představila kompaktní 11litrový Thelio Prime Desktop. S procesorem AMD Ryzen 9000. S Pop!_OS 24.04 LTS s desktopovým prostředím COSMIC nebo Ubuntu 24.04 LTS.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | Humor

    Čínská státní televize pozastavila vysílání španělské La Ligy a čínské internetové platformy omezily obsah s Kylianem Mbappém poté, co slavný fotbalista ve francouzském pořadu The Bridge mluvil o svém oblíbeném memu, v němž je jeho tvář vložena do portrétu zobrazujícího diktátora Mao Ce-tunga. 'Můj oblíbený mem je ten, na kterém dali můj obličej na čínského diktátora. To mě opravdu rozesmívá. S přáteli ho používám pořád' řekl,

    … více »
    Pendrekama do nich❗ | Komentářů: 4
    včera 13:22 | IT novinky

    Při příležitosti oslav Dne vzniku samostatného československého státu (28. října) byly uděleny medaile Za zásluhy tvůrci aplikace Záchranka Filipu Maleňákovi, vědci v oblasti umělé inteligence Tomáši Mikolovovi a Olze Štěpánkové, vědkyni zabývající se kybernetikou, robotikou a strojovým učením, průkopnici v oblastech výuky a využití umělé inteligence v medicínském inženýrství.

    Pendrekama do nich❗ | Komentářů: 2
    včera 01:33 | IT novinky

    Apple představil nový iPad mini, iMac s čipem M6, 14palcový MacBook Pro s čipem M6 a MacBook Pro s PROLED XDR displejem – první Mac s dotykovým ovládáním.

    Ladislav Hagara | Komentářů: 4
    28.10. 23:22 | Zajímavý projekt

    Nedávno představený projekt mapSTL.com řeší budoucnost. 𝕏: "Netušil jsem, kolik patentů na generování map existuje. Existují patenty na generování fantasy map 🫣. Cokoliv je na 3D tiskárnu a tvoří to produkt, bude to mít patenty. Tak bacha na to!" … více »

    Ladislav Hagara | Komentářů: 3
    28.10. 18:55 | Nová verze

    Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.4 (𝕏). Přehled novinek a vylepšení v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    28.10. 18:22 | Bezpečnostní upozornění

    Byla objevena zranitelnost Tailworm v Tailscale a Headscale umožňující lokální eskalaci práv přihlášeného uživatele. Následně byla v Tailscale v opravené verzi 1.104.4+ změněna architektura aplikace. Viz příspěvek na blogu Tailscale.

    vencour | Komentářů: 0
    27.10. 18:11 | Nová verze

    Byl vydán Mozilla Firefox 159.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 159 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (20%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2940 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Nejpodivnější error hláška v PHP

    28.2.2009 20:51 | Přečteno: 1793× | Programování

    Právě jsem při programování bc práce narazil na docela zvláštní hlášku v PHPku. Protože jsem ještě podivnějsí hlášku neviděl, tak jsem se rozhodnul jí zde postnout

    Při pokusu o něco takového:

    $this->_db=$dbtype::getInstance($table,$key);

    mi PHPko vypsalo něco takového:

    Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /srv/www/spu/libs/application/database.php on line 18

    Co tím nerozluštitelným řetězcem kdo chtěl říct o této chybě mi zůstává záhadou :O Pro upřesnění dodávám, že mám PHPko zkompilované s podporou patche Suhosin v Gentoo.

    Narazili jste taky na nějakou podobně nesrozumitelnou hlášku?

           

    Hodnocení: 75 %

            špatné • dobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    28.2.2009 20:59 helb
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP
    To jsou ty dvojtečky... wikipedia
    28.2.2009 21:00 Lijec
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP
    Stacilo to dat do googlu-uz sem o tom nekdo psal. Trapne bejcku, trapne jak svin.
    Luk avatar 28.2.2009 21:14 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP
    Tady je krásně vidět, proč se při pojmenovávání identifikátorů v programech raději držet angličtiny ;-)
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    frEon avatar 28.2.2009 22:07 frEon | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP
    Tak za tohle uz sem taky nekoho proklel.
    Talking about music is like dancing to architecture.
    AraxoN avatar 28.2.2009 22:30 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP

    jj, toto som už videl viackrát... nakoniec sa vždy ukázalo, že sa niekde do kódu vlúdili znaky, ktoré tam byť nemali :-)

    1.3.2009 10:32 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP

    Podobné hlášení se vyskytuje docela často, tedy pokud svátečně neprogramujete, pak to pro Vás může být nové a zajímavé.

    PHP rozparsuje zdrojový kód do proudu tokenů, které jsou nazvány výčtovým typem, jehož jedné hodnotě v chybovém výpisu se právě divíte. Kdybyste byl zběhlý v PHP víte, že tento parser je dokonce dostupný i programátorovi v PHP, takže hodnoty můžete najít přímo v oficiálním manuálu PHP.

    Jestli se budete divit každé podobné hlášce (nejen v PHP), tak to budete mít asi plný život údivů a překvapení. Hláška je ok, je srozumitelná a jasná.

    1.3.2009 11:34 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP
    Nevěděl jsem, že umíte hebrejsky :-) Což bych viděl jako nutnou podmínku k tomu, aby typ tokenu T_PAAMAYIM_NEKUDOTAYIM byl srozumitelný a jasný. Ale máte pravdu, divit se tomu je scestné, je to přece PHP.
    Ještě na tom nejsem tak špatně, abych četl Viewegha.
    1.3.2009 12:18 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP

    Mě ani nenapadlo, že je to hebrejsky, stejně tak to může být zkratka z mnoha slov. Nicméně každý, komu něco říká slovo výčtový typ, by asi pochopil o co jde. Identifikátor až tak podstatný není.

    Pokud někdy něco více naprogramujete v setkání s více programátory, tak se často setkáte s identifikátory, kterým ně vždy budete rozumět. Ale budete chápat smysl a to se v případě této chybové hlášky dá velice snadno.

    Jinak názvy všech konstant výčtového typu tokenů najdete zde:

    http://cz.php.net/tokens

    Schválně, představte se, že nevíte nic o unixu, ani Linuxu (třeba jste se nesetkal s UNixem/Linuxem a třeba znáte dokonale anglicky) a řekněte mi, jaký je význam těchto programů: awk, bash? Asi je to stejně pochopitelné jako ta hebrejština. To prostě nevymyslíte. A pak někdo narazí na nesrozumitelný identifikátor a dělá z toho osmý div světa. Jako vývojář a nejen vývojář narazíte na tisíce nesrozumitelných identifikátorů, jejichž přesný význam není hned jasný, to je celé.

    1.3.2009 13:46 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP

    To je sice hezké, ale

    • když už má identifikátor návodné jméno, u mezinárodního projektu by mělo být v angličtině
    • jde-li o jméno, které je vidět "ven", platí to dvojnásob
    1.3.2009 14:19 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP

    Ono by mělo být věcí :-)

    Identifikátor chyby nemusí mít návodné jméno. Když se budu bavit o identifikátorech chyby, která jsou vidět ven: Schválně, co znamená chyba kompilátoru C4013? (MS Visual C/C++), nebo chyba číslo 1001 (MySQL)? Co znamená SQL error: HY001? (standardizovaná identifikace chyb v SQL databázích).

    Jinak třeba OpenOffice má problémy shánět vývojáře také proto (kromě nutné byrokracie se Sunem), že řada kódu, názvu funkcí apod.. je v němčině.

    Problém je, že někdy také nemusíte tušit, že Váš projekt bude mezinárodní, a druhak také to, že nemusíte tušít, že Váš identifikátor proleze ven (třeba později).

    Zkrátka až najdete něco dokonalého, dejte vědět. Já neznám jediný sw projekt, na kterém by nebylo co kritizovat, a který by měl dokonale čistý kód.

     

    1.3.2009 17:58 Martin Mareš
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP
    Identifikátor chyby nemusí mít návodné jméno.
    Jistě nemusí, alespoň v tom smyslu, že když nemá, nenastane konec světa ani spor v teorii množin. Ovšem identifikovat chyby neintuitivními identifikátory má svůj smysl leda tehdy, když zařízení umí hlásit chybu dvoumístným displejem nebo blikáním jedinou LEDkou, v ostatních případech je to prasečina, za kterou by se mělo věšet za uši do průvanu.
    1.3.2009 18:06 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP

    Ano ano, souhlasím.

    Nicméně žádný program není dokonale proveden. Až se tak stane, bude to někdy v době, kdy lidstvo už dávno bude mít kolonizovanou celou galaxii a několik přilehlých.

    1.3.2009 14:24 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP

    Jinak když už jsme u toho, tohle je právě obrovská nevýhoda programování v jazyce C a jedna z věcí, proč nechci programovat v jazyce C.

    Všechny identifikátory v C jsou veřejné a v jenom globálním prostoru jmen. Neexistují tam ani třídy, ani prostory jmen, takže musíte vždy řešit konflikty jmen s jinými části projektu. Z toho důvodu občas řada C programátorů rezignuje a hledá vhodné, nekonfliktní jméno identifikátoru, a velmi často se z tohoto důvodu v C použije mateřština programátora. Je jasné, že hebrejský název má minimální pravdděpodobnost, že bude kolidovat s jakýmkoli anglickým identifikátorem v projektu.

    Chcete-li si podobné problémy ušetřit, používejte schopné programovací jazyky, které mají základní prostředky pro spolupráci více lidí. Jedním z nich je podpora prostorů jmen, a necpání všeho do jednoho globálního prostoru.

    Zdaleka nevidím poprvé, že programátoři v C v týmovém projektu použili svůj národní jazyk, protože řešili právě konflikty identifikátorů. Jazyk C je velmi nevhodný pro větší projekt a občas donutí i trpělivé lidi prasit.

    frEon avatar 1.3.2009 17:35 frEon | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP

    Všechny identifikátory v C jsou veřejné a v jenom globálním prostoru jmen. Neexistují tam ani třídy, ani prostory jmen, takže musíte vždy řešit konflikty jmen s jinými části projektu. Z toho důvodu občas řada C programátorů rezignuje a hledá vhodné, nekonfliktní jméno identifikátoru, a velmi často se z tohoto důvodu v C použije mateřština programátora. Je jasné, že hebrejský název má minimální pravdděpodobnost, že bude kolidovat s jakýmkoli anglickým identifikátorem v projektu.

    Nevidim nejmensi duvod, proc me, jako uzivatele by mel program otravovat se svoji vnitrni reprezentaci sveho stavu. Me je jedno, ze rozseka text na nejake kousky a k nim ma nejakej vyctovej typ, s kterym ty kousky prevadi na cisla... Pro me, jako uzivatele php je dulezity, ze tam mam navic ctyrtecku.
    Talking about music is like dancing to architecture.
    1.3.2009 18:08 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP

    „Nevidim nejmensi duvod, proc me, jako uzivatele by mel program otravovat se svoji vnitrni reprezentaci sveho stavu.“

    Pokud nebudete mít chybu v syntaxi ani v programu, tak to program nebude dělat.

    „Me je jedno, ze rozseka text na nejake kousky a k nim ma nejakej vyctovej typ, s kterym ty kousky prevadi na cisla... Pro me, jako uzivatele php je dulezity, ze tam mam navic ctyrtecku.“

    Uživatel PHP se zove programátor a jako takový nemůže být odstíněn od vnitřní reprezentace svého nástroje. Zvláště, když dělá chyby. :-)

    frEon avatar 3.3.2009 18:03 frEon | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP

    Uživatel PHP se zove programátor a jako takový nemůže být odstíněn od vnitřní reprezentace svého nástroje. Zvláště, když dělá chyby. :-)

    Nesouhlasim. Abych mohl programovat v c++ nepotrebuju vedet jak presne ktery kompilator uchovava a zpracovava ctyrtecku. Dulezity pro me je co to znamena, kdyz ji do kodu napisu.

    Myslim, ze se shodnem, ze nejaka trida je taky programatoruv nastroj. jeji instance, ma nejake metody, pomoci nichz ovlivnuje stav objektu aniz by potreboval vedet, jak a cim je ten stav toho objektu reprezentovat uvnitr. Myslim, ze se tomu rika zapouzdreni...

    Talking about music is like dancing to architecture.
    1.3.2009 17:55 Martin Mareš
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP
    Všechny identifikátory v C jsou veřejné a v jenom globálním prostoru jmen.
    Namespacy jsou příjemná věc, ale nijak hluboká. Není žádný zásadní rozdíl mezi tím, když identifikátor nadeklarujete v namespacu XYZ, a tím, že mu přidáte prefix "XYZ_". Namespacy vám pouze ušetří trochu psaní.

    Daleko zásadnější záležitost je viditelnost symbolů (například ven z dynamických knihoven), tu bohužel rozumně neřeší žádný mně známý jazyk.
    1.3.2009 18:15 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP

    Žádný vyšší programovací jazyk není nic jiného, než syntaktický cukt na strojákem, když to vezmete do důsledků.

    Za žádnými syntaktickými věcmi nestojí žádná hluboká myšlenka a jistě vše jde obejít.

    Zásadní rozdíl v prefixu sice není, ale v praxi dost podstatný. Jednak zdroják s namespaces bude čitelnější a udržovatelnější. Jednak nemůžete v praxi zavést konvenci, že identifikátory XYZ_ budete používat jen Vy, protože nemáte dohodu se všemi autory knihoven a kódu. A také délka identifikátoru je v C omezena – na 32 znaků. Takže se moc nerozšoupnete, když budete ve větším týmu. Některé kompilátory C mají toto omezení dokonce na 6 znaků, proto jsou také názvy knihovních funkcí a Unix API tak krátké. Třeba strlen, mmap, atd..

    1.3.2009 19:07 Martin Mareš
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP
    Stejně tak nemáte zaručeno, že váš namespace nebude používat nikdo jiný na světě.
    1.3.2009 19:14 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP

    Pravděpodobnost konfliktů je naprosto minimální, pokud trochu přemýšlíte. Já viděl tisíce konfliktů jmen v C, ale ani jeden v C++ s namespace.

    Někteří programátoři používají jako namespace webovou adresu svých stránek (obvyklé třeba v Javě).

    1.3.2009 19:25 Martin Mareš
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP
    Možná je to tím, že ekosystém programů napsaných v C je nesrovnatelně bohatší než těch, které byly napsány v C++ v té poměrně krátké době, co tento jazyk umí namespacy.

    Mimochodem, ani "webová adresa" není identifikátor, který by s časem nemohl měnit význam.

    Také velmi snadno nastanou problémy s kusy kódu, které mají společnou historii. Která vývojová větev si má ponechat původní namespace?

    Kdepak, ani namespacy nejsou zázračným lékem, který nás osvobodí od problémů s jednoznačností jmen. Ale pomoci od některých z nich mohou.
    1.3.2009 20:41 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP

    A co mi tu vlastně chcete dokázat? Že věc, která řeší 99,999% problémů, které C neřeší vůbec a dlabe na to, a ta věc se jmenuje namespace, je špatná, protože neřeší 100% problémů?

    1.3.2009 21:33 Martin Mareš
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP
    To, že si můžete připisovat devítky k procentům, jak chcete, ale realitu tím neovlivníte :-)

    Realita je taková, že jak ve slušně udržovaných Céčkových i C++kových programech konflikty nastávají s poměrně nízkou, leč nenulovou pravděpodobností. Naproti tomu v mizerně udržovaných programech nastává téméř cokoliv. Jinými slovy namespacy jsou drobná užitečná featurka, ale nic úžasného.
    1.3.2009 19:27 Martin Mareš
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP
    Žádný vyšší programovací jazyk není nic jiného, než syntaktický cukt na strojákem, když to vezmete do důsledků.
    To je hluboce zažitý omyl, omluvitelný snad jedině malým rozhledem po tom, jak může vyšší programovací jazyk vypadat. U C/C++ většina featur opravdu je pouhý syntaktický cukr, ale existují i jazyky, které mají daleko bohatší sémantiku: v mnoha funkcionálních jazycích například najdete funkce vyšších řádů nebo líné vyhodnocování. To už není jen cukřík.
    2.3.2009 16:01 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP
    $ cat test.c 
    static void my_identifier_static(void) {}
    void my_identifier_nonstatic(void) {}
    
    $ gcc -fPIC -DPIC -shared -o test.so test.c
    
    $ nm -D test.so 
             w _Jv_RegisterClasses
    00002010 A __bss_start
             w __cxa_finalize
             w __gmon_start__
    00002010 A _edata
    00002014 A _end
    00000464 T _fini
    00000300 T _init
    00000421 T my_identifier_nonstatic
    1.3.2009 13:39 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP
    Hm... já tipoval finštinu... :-)
    xxxs avatar 1.3.2009 14:53 xxxs | skóre: 25 | blog: vetvicky
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP
    ja estoncinu.
    1.3.2009 14:56 CET
    Rozbalit Rozbalit vše Re: Nejpodivnější error hláška v PHP

    Ja madarstinu:) Zrovna nedavno jsem to taky videl, chyba byla v tom, ze jsem nemel do PHPcka nainstalovanej modul memcache a ono se to asi snazilo volat neexistujici metodu nebo vytvaret objekt neexisujici tridy.

    Založit nové vlákno • Nahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.