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í
×
    dnes 14:44 | Nová verze

    Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.

    Ladislav Hagara | Komentářů: 0
    včera 02:11 | Komunita

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 17
    včera 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.12. 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    23.12. 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    23.12. 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    22.12. 23:44 | Nová verze

    Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.

    Ladislav Hagara | Komentářů: 0
    21.12. 05:00 | Nová verze

    Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 2
    21.12. 01:55 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    19.12. 17:22 | IT novinky

    Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.

    Ladislav Hagara | Komentářů: 14
    Kdo vám letos nadělí dárek?
     (33%)
     (2%)
     (11%)
     (2%)
     (1%)
     (2%)
     (15%)
     (19%)
     (14%)
    Celkem 85 hlasů
     Komentářů: 18, poslední včera 15:30
    Rozcestník

    Dotaz: Upřesnění class v php

    30.4.2012 13:31 Dušan S.
    Upřesnění class v php
    Přečteno: 257×
    Ahoj, chtěl bych se zeptat, jestli je tohle správný zápis v php.
    $menu = new menu();
    $menu = $menu->menuTop();
    a taky bych potřeboval poradit, jak ošetřit to, že když vytvořím objekt třeba new foo() ale v jiné třídě potřebuji taky zavolat foo() ale nevím jestli již ten objekt neexistuje, jestli jsem ho nevolal dříve. Díky za pomoc...

    Řešení dotazu:


    Odpovědi

    30.4.2012 13:46 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Upřesnění class v php
    Správný je, ale je divný, první řádek vytvoří instanci třídy menu a přiřadí ji do proměnné, druhý řádek zavolá metodu té instance a její výsledek uloží do stejné proměnné - tedy ji přepíše a odkaz na instanci již není.
    new Foo() vytvoří instanci třídy Foo a instancí si můžete vytvořit kolik chcete, jestli chcete mít jen jednu instanci, definujte si třídu jako Singleton.
    Případně můžete použít statické proměnné a fce.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    30.4.2012 22:15 Dušan S.
    Rozbalit Rozbalit vše Re: Upřesnění class v php
    Děkuji za objasnění
    Josef Kufner avatar 30.4.2012 23:31 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Upřesnění class v php
    Singleton nebrat, je to stejná prasárna jako globální proměnné.

    Jen výjimečně je opravdu potřeba zajistit, že nebude existovat druhá instance. V drtivé většině případů to je jen lenost/neschopnost programátora, předávat si potřebný objekt napříč programem.
    Hello world ! Segmentation fault (core dumped)
    1.5.2012 10:20 l4m4
    Rozbalit Rozbalit vše Re: Upřesnění class v php
    Říkáš-li A, měl bys ale říci i B a podle stejné logiky zavrhnout i veškeré statické členy tříd. Já neříkám tak ani tak, ale zkrátka zapotřebí být konzistentní.
    1.5.2012 10:20 l4m4
    Rozbalit Rozbalit vše Re: Upřesnění class v php
    s/zapotřebí/je zapotřebí/
    Josef Kufner avatar 2.5.2012 11:10 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Upřesnění class v php
    Jo, statické členy jsou to samé, ale aspoň jsou omezeny na prostor té dané třídy. Navíc satické metody jsou užitečné/nutné, pokud potřebuješ např. factory metodu (i konstruktor lze chápat jako statickou metodu) nebo pro různé pomocné nástroje, které nemají/nepotřebují vazbu na konkrétní instanci. Statické členské proměnné pak můžou být užitečné v podobě různých konstant.

    Singleton je ale jen objektový obal na globální proměnnou. Navíc maskuje, kde se vlastně používá -- objekt vrácený metodou getInstance lze přiřadit čemukoliv, takže není na první pohled zřejmé, s čím máš tu čest. U globální proměnné máš aspoň stejný symbol všude (sice pak může nastat problém s kolizema, ale většinou je její název dostatečně unikátní).

    Jak ke globálním proměnným, tak k singletonu i statickým členům by měl být vždy hodně dobrý důvod. Tím, že se singleton dostal mezi "hezké" návrhové vzory, se používá i tam, kde k tomu důvod není a spousta lidí si neuvědomuje, že "jedna instance ⇒ singleton" je blbost.
    Hello world ! Segmentation fault (core dumped)
    1.5.2012 17:01 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Upřesnění class v php
    Hm, tak to je slovo do pranice…
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†

    Založit nové vláknoNahoru

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

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