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 11:55 | IT novinky

    Společnost Perplexity AI působící v oblasti umělé inteligence (AI) podala nevyžádanou nabídku na převzetí webového prohlížeče Chrome internetové firmy Google za 34,5 miliardy dolarů (zhruba 723 miliard Kč). Informovala o tom včera agentura Reuters. Upozornila, že výše nabídky výrazně převyšuje hodnotu firmy Perplexity. Společnost Google se podle ní k nabídce zatím nevyjádřila.

    Ladislav Hagara | Komentářů: 1
    dnes 04:33 | Bezpečnostní upozornění

    Intel vydal 34 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20250812 mikrokódů pro své procesory řešící 6 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | Nová verze

    Byla vydána nová verze 1.25 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    včera 13:44 | Nová verze

    Byla vydána beta verze Linux Mintu 22.2 s kódovým jménem Zara. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze novou XApp aplikaci Fingwit pro autentizaci pomocí otisků prstů nebo vlastní fork knihovny libAdwaita s názvem libAdapta podporující grafická témata. Linux Mint 22.2 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 0
    včera 13:00 | IT novinky

    Provozovatel internetové encyklopedie Wikipedie prohrál v Británii soudní spor týkající se některých částí nového zákona o on-line bezpečnosti. Soud ale varoval britského regulátora Ofcom i odpovědné ministerstvo před zaváděním přílišných omezení. Legislativa zpřísňuje požadavky na on-line platformy, ale zároveň čelí kritice za možné omezování svobody slova. Společnost Wikimedia Foundation, která je zodpovědná za fungování

    … více »
    Ladislav Hagara | Komentářů: 2
    včera 12:55 | Nová verze

    Byla vydána verze 2.0.0 nástroje pro synchronizaci dat mezi vícero počítači bez centrálního serveru Syncthing (Wikipedie). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 2
    včera 12:33 | IT novinky

    Americký prezident Donald Trump se v pondělí osobně setkal s generálním ředitelem firmy na výrobu čipů Intel Lip-Bu Tanem. Šéfa podniku označil za úspěšného, informují agentury. Ještě před týdnem ho přitom ostře kritizoval a požadoval jeho okamžitý odchod. Akcie Intelu v reakci na schůzku po oficiálním uzavření trhu zpevnily asi o tři procenta.

    Ladislav Hagara | Komentářů: 12
    11.8. 04:55 | Nová verze

    Byl vydán Debian GNU/Hurd 2025. Jedná se o port Debianu s jádrem Hurd místo obvyklého Linuxu.

    Ladislav Hagara | Komentářů: 6
    11.8. 02:44 | Komunita

    V sobotu 9. srpna uplynulo přesně 20 let od oznámení projektu openSUSE na konferenci LinuxWorld v San Franciscu. Pokuď máte archivní nebo nějakým způsobem zajímavé fotky s openSUSE, můžete se o ně s námi podělit.

    lkocman | Komentářů: 6
    9.8. 21:11 | Nová verze

    Byl vydán Debian 13 s kódovým názvem Trixie. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 8
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (50%)
     (20%)
     (4%)
     (5%)
     (3%)
     (1%)
     (1%)
     (17%)
    Celkem 361 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    Rozcestník

    Dotaz: Problém s vrácením dat z class v php

    22.11.2013 00:54 David
    Problém s vrácením dat z class v php
    Přečteno: 806×
    Ahoj. Chtěl bych se zeptat, když v metodě uvnitř třídy "class1" mám return new class2(), a class2() mi vrací data pomocí __toString(), tak vše funguje, jenže pokud potřebuji jít dál, a uvnitř class2() dám return new class3() tak přesto že vracím zase v class3() data pomocí __toString(), do class1 se už nedostanou. Poradí někdo?

    Odpovědi

    22.11.2013 05:47 Kit | skóre: 45 | Brno
    Rozbalit Rozbalit vše Re: Problém s vrácením dat z class v php
    Stačí s tím objektem zacházet jako se stringem, například zřetězit s prázdným stringem.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    Tarmaq avatar 22.11.2013 09:26 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Problém s vrácením dat z class v php
    Anebo pouzit strval(). Vysledek by mel vypadat nejak takhle:
    class class2
    {
      private $foo;
      function __construct()
      {
        $this->foo = new class3;
      }
      function __toString()
      {
        return strval($this->foo);
      }
    }
    Don't panic!
    22.11.2013 09:55 David
    Rozbalit Rozbalit vše Re: Problém s vrácením dat z class v php
    Zrovna tady jsem se dočetl, že tvé řešení není "správné". Metoda __toString() nemá vracet proměnné ale má volat metody :-( A řádek private $foo; tam taky nemá být... Tak jak to tedy opravdu je?

    PS: Jak amatér s rozbitou držkou domů se vrátil, když učil orla létat :-D
    22.11.2013 10:20 Kit
    Rozbalit Rozbalit vše Re: Problém s vrácením dat z class v php
    Četl jsi to ze špatného zdroje a navíc jsi to i špatně pochopil.
    22.11.2013 10:24 David
    Rozbalit Rozbalit vše Re: Problém s vrácením dat z class v php
    No na 99% jsi to psal ty, nemůžu to teď najít..
    Tarmaq avatar 22.11.2013 10:26 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Problém s vrácením dat z class v php
    tusim ze mas na mysli tohle, je to tak?
    Don't panic!
    22.11.2013 12:09 David
    Rozbalit Rozbalit vše Re: Problém s vrácením dat z class v php
    tusim ze mas na mysli tohle, je to tak?
    Ano, tam jsem to četl...
    Tarmaq avatar 22.11.2013 12:16 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Problém s vrácením dat z class v php
    A muzes tedy citovat? Nebo zkopirovat Link daneho prispevku a vlozit ho sem?
    Don't panic!
    22.11.2013 12:26 David
    Rozbalit Rozbalit vše Re: Problém s vrácením dat z class v php
    Sorry to není ono, ale to jsem taky četl, bylo tam něco ve smyslu, že proměnné v class nejsou uložiště a tak by měli vracet přímo výsledek a být volány až když jsou potřeba. A ty proměnné když nejsou definovány tak se tam nepíšou. Ale četl jsem toho hodně a nevím kde to bylo a mimo jiné tohle mi uvízlo v hlavě...
    22.11.2013 12:50 Kit
    Rozbalit Rozbalit vše Re: Problém s vrácením dat z class v php
    Zdá se, že jsi tu větu vytrhl z kontextu. Zřejmě jsem někde psal o anemickém doménovém modelu, který z objektu dělá úložiště. Možná jsi to zkombinoval s jiným mým výrokem o normalizaci třídy, že její instanční proměnné by neměly být konglomeráty, ale atomické hodnoty, které se v metodě __toString() teprve spojí do požadovaného výstupu.
    Josef Kufner avatar 22.11.2013 12:02 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Problém s vrácením dat z class v php
    __toString vrací vždy obyčejný string. Jak k němu dojde, je celkem jedno, jen by ta metoda neměla mít žádné side effecty, tedy jedno zavolání a libovolný počet zavolání musí vyjít nastejno.

    Ten kousek kódu je dobře, jen by místo strval bylo lepší použít přetypování na string: return (string) $this->foo;
    Hello world ! Segmentation fault (core dumped)
    Tarmaq avatar 22.11.2013 12:18 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Problém s vrácením dat z class v php
    Ten kousek kódu je dobře, jen by místo strval bylo lepší použít přetypování na string: return (string) $this->foo;
    Mohl bys prosim nejak podlozit, v cem je to lepsi? IMHO obe veci delaji uplne tu samou vec. Spis je to o osobnich preferencich.
    Don't panic!
    Josef Kufner avatar 22.11.2013 12:29 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Problém s vrácením dat z class v php
    Rozdíl je v rychlosti. Přetypování ušetří volání funkce a výsledek je přitom zcela stejný. Pokud by to bylo v nějaké často používané funkci, což docela často bývá případ různých pomocných formátovacích udělátek, může to zvednout výkon aplikace o pár procent.
    Hello world ! Segmentation fault (core dumped)
    Tarmaq avatar 22.11.2013 12:30 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Problém s vrácením dat z class v php
    Vlastne existuje duvod pro pouziti strval() misto (string). Je hned na prvni pohled jasne, co je castovano a clovek tak nemusi resit napr. precedenci operatoru..
    Don't panic!
    Josef Kufner avatar 22.11.2013 12:34 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Problém s vrácením dat z class v php
    Důvod, proč strval existuje, je funkce array_map a jí podobné.

    "strval(blabla)" a "(string)(blabla)" vyjde z pohledu čitelnosti i náročnosti psaní úplně na stejno.
    Hello world ! Segmentation fault (core dumped)
    22.11.2013 12:52 potato
    Rozbalit Rozbalit vše Re: Problém s vrácením dat z class v php
    Z pohledu čitelnosti je zápis jako volání funkce určitě lepší. Je v kódu
    (a)(b)(c)
    - a i b typ, c proměnná

    - a typ, b funkce, c proměnná

    - a funkce vracející funkci, b funkce, c proměnná

    nebo je to ještě nějak jinak?
    22.11.2013 15:22 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Problém s vrácením dat z class v php

    Ej, to je extrém pomíjející fakt, že máme máme nějaké základní typy, klíčová slova apod. a že uživatelské typy také pojmenováváme dle nějakých zásad.

    Osobně klasické přetypování ve stylu 'C' je pro mně to nejčitelnější (, co přesně dělá interpret PHP u jednotlivých zápisů nevím).

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Josef Kufner avatar 22.11.2013 17:08 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Problém s vrácením dat z class v php
    Před proměnné se píše dolar, takže to je trošku jednodušší. Navíc podpora anonymních funkcí v PHP je taková trošku polovičatá, takže si s tímhle neporadí ani samotný interpret. Tenhle zápis je jedině trojité přetypování (PHP 5.3 a starší, jaké novinky jsou v PHP 5.5 jsem nezkoumal moc podrobně, ale prý se to trochu zlepšilo).
    Hello world ! Segmentation fault (core dumped)

    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.