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:22 | IT novinky

    Herní studio Hangar 13 vydalo novou Mafii. Mafia: Domovina je zasazena do krutého sicilského podsvětí na začátku 20. století. Na ProtonDB je zatím bez záznamu.

    Ladislav Hagara | Komentářů: 0
    dnes 13:22 | IT novinky

    Operátor O2 má opět problémy. Jako omluvu za pondělní zhoršenou dostupnost služeb dal všem zákazníkům poukaz v hodnotě 300 Kč na nákup telefonu nebo příslušenství.

    Ladislav Hagara | Komentářů: 4
    dnes 05:55 | IT novinky

    Společnost OpenAI představila GPT-5 (YouTube).

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

    Byla vydána (𝕏) červencová aktualizace aneb nová verze 1.103 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.103 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    včera 17:33 | IT novinky

    Americký prezident Donald Trump vyzval nového generálního ředitele firmy na výrobu čipů Intel, aby odstoupil. Prezident to zdůvodnil vazbami nového šéfa Lip-Bu Tana na čínské firmy.

    Ladislav Hagara | Komentářů: 7
    včera 16:55 | Nová verze

    Bylo vydáno Ubuntu 24.04.3 LTS, tj. třetí opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Nová verze

    Byla vydána verze 1.89.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | IT novinky

    Americká technologická společnost Apple uskuteční v USA další investice ve výši sta miliard dolarů (2,1 bilionu korun). Oznámil to ve středu šéf firmy Tim Cook při setkání v Bílém domě s americkým prezidentem Donaldem Trumpem. Trump zároveň oznámil záměr zavést stoprocentní clo na polovodiče z dovozu.

    Ladislav Hagara | Komentářů: 4
    včera 04:55 | Nová verze

    Zálohovací server Proxmox Backup Server byl vydán v nové stabilní verzi 4.0. Založen je na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    6.8. 16:33 | Nová verze

    Byla vydána nová verze 1.54.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Jan Václav.

    Ladislav Hagara | Komentářů: 0
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (44%)
     (22%)
     (4%)
     (6%)
     (3%)
     (1%)
     (1%)
     (19%)
    Celkem 296 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    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: 242×
    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.