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 16:55 | Zajímavý software

    pico-usb-wifi je open source firmware pro Raspberry Pi Pico W, který jej promění v USB Wi-Fi adaptér. Po připojení k počítači se objeví jako zařízení USB CDC-NCM.

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

    Americká společnost Google ze skupiny Alphabet bude muset podle nových požadavků Evropské unie umožnit společnosti OpenAI i dalším konkurentům v oblasti umělé inteligence (AI) a internetových vyhledávačů přístup ke svým službám. Ve svém rozhodnutí o tom včera informovala Evropská komise (EK). Opatření má zajistit dodržování pravidel, jejichž cílem je omezit v EU tržní sílu velkých technologických firem. Google s tím nesouhlasí.

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 04:55 | Komunita

    Nové verze webových prohlížečů Chrome a Firefox jsou vydávány každé 4 týdny. Aktuální verze Chrome je 150. Aktuální verze Firefoxu je 152. V březnu bylo oznámeno, že od září přejde Chrome na dvoutýdenní cyklus vydávání verzí. To by znamenalo, že Chrome v číslování verzí Firefox brzy přeskočí. Vývojáři Firefoxu proto také od září přecházejí na dvoutýdenní cyklus vydávání verzí. :-)

    Ladislav Hagara | Komentářů: 4
    včera 00:22 | Zajímavý software

    Microsoft Comic Chat (Wikipedie), tj. grafický IRC klient z devadesátek, který převáděl konverzace na IRC do podoby komiksových panelů, a který zpopularizoval font Comic Sans, je dnešním dnem open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 1
    16.7. 19:55 | Nová verze

    Byla vydána (𝕏) nová verze 26.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 26.7 je Xenial Xenops. Přehled novinek v příspěvku na fóru.

    Ladislav Hagara | Komentářů: 0
    16.7. 14:44 | IT novinky

    Na Seznam nepovolených internetových her (Wikipedie) se k 13. 7. 2026 dostala predikční platforma Polymarket.

    Ladislav Hagara | Komentářů: 5
    16.7. 14:22 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 167 (pdf) a Hello World 30 (pdf).

    Ladislav Hagara | Komentářů: 0
    16.7. 00:44 | Nová verze

    Byla vydána nová verze 3.22.0 grafického vývojového prostředí a platformy Gambas (Wikipedie) založené na interpretru programovacího jazyka Basic s rozšířením o objektově orientované programování. Přehled novinek v poznámkách k vydání. Zdrojové kódy jsou k dispozici na GitLabu.

    Ladislav Hagara | Komentářů: 0
    15.7. 20:22 | Komunita

    FreeBSD odstranilo poslední GPL kód ze základního systému. Konkrétně dpv, libdpv, libfigpar a dialog. Instalátor před čtyřmi lety přešel z dialogu na bsddialog.

    Ladislav Hagara | Komentářů: 2
    15.7. 15:22 | IT novinky

    Sociální síti 𝕏 (dříve Twitter) má dnes 20 let. Pro veřejnost byla zpřístupněna 15. července 2006.

    Ladislav Hagara | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 2156 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Jak dostat v php z konstruktoru data jako string

    11.4.2012 16:05 Soleto
    Jak dostat v php z konstruktoru data jako string
    Přečteno: 314×
    Ahoj, jak můžu dostat v php z konstruktoru data jako string, nebo jde udělat třeba tohle?
    $foo = new foo();
    a tu proměnnou $foo až nějak převést na string? Díky

    Řešení dotazu:


    Odpovědi

    11.4.2012 16:14 Kit
    Rozbalit Rozbalit vše Re: Jak dostat v php z konstruktoru data jako string
    To se nedělá v konstruktoru, ale v magické metodě __toString(), která nemá parametry, ale vrací string. Pak už jen stačí použít objekt tam, kde je očekáván string.
    $foo = new Foo();
    echo $foo;
    nebo zkráceně
    echo new Foo();
    11.4.2012 16:27 Soleto
    Rozbalit Rozbalit vše Re: Jak dostat v php z konstruktoru data jako string
    A volat jiný class z nějaké class se může z konstruktoru? Nebo se má volat uz přímo z té magické metody? Je to teď dobře? Díky
    class map
    {
       var $foo;
       function __construct($foo)
       {
           $this->foo = $foo;
       }
    
       public function __toString()
       {
          return new $this->foo();
       }
    }
    
    new map('add_class');
    11.4.2012 16:42 Kit
    Rozbalit Rozbalit vše Re: Jak dostat v php z konstruktoru data jako string
    Nechápu, co tě k takovým konstrukcím vede. Najdi si nějakou učebnici PHP a vyzkoušej pár příkladů na objekty. Bez základů objektového programování a dědičnosti jen střílíš naslepo.

    Možná ten tvůj příklad bude i fungovat, ale správně to není, protože málokdo takovou konstrukci po tobě pochopí a i ty sám budeš po roce přemýšlet nad tím, co to vlastně má dělat.

    Metoda __toString() je prezentační a její return prostě musí vracet string.
    11.4.2012 17:29 Soleto
    Rozbalit Rozbalit vše Re: Jak dostat v php z konstruktoru data jako string
    Co mě vede? No snažím se to co nejjednodušeji napsat, myslim, že to je naprosto jasne i ted i za rok čeho chci docílit, jestli máš lepší řešení jistě ho uvítám... ;) Konstruktor nemůže vracet data pomocí return, což string vyžaduje, toString zase neumi předat parametry tak jak to jinak řešit, fakt nevím..
    class map{
              var $pdo;
              public function __construct($pdo){
                        $this->pdo = $pdo;
              }
    
              public function __toString(){
                        ...
                        # Tady zjistim jaký class zavolám
                        ...
    
                        # Zavolám zvolenou class a vratim vysledek
                        return new index($this->pdo);
              }
    }
    
    class index{
    
              var $pdo;
              public function __construct($pdo){
                        $this->pdo = $pdo;
              }
    
              public function __toString(){
                        ...
                        # Tady zjistim jaký class zavolám
                        ...
    
                        # Zavolám zvolenou class a vratim vysledek
                        return new news($this->pdo);
              }
    }
    
    class news{
              var $pdo;
              public function __construct($pdo){
                        $this->pdo = $pdo;
              }
    
              public function __toString(){
    
                        # Už řádnou class nevolam, vrátím jen vysledek
                        return $pdo->query(.....); // Ahoj
              }
    }
    
    $map = new map($pdo);
    echo $map; // Ahoj
    11.4.2012 20:06 l4m4
    Rozbalit Rozbalit vše Re: Jak dostat v php z konstruktoru data jako string
    Potřebuješ zkonstruovat objekt, nebo máš objekt a chceš jeho textovou representaci?

    První udělá konstruktor.

    Druhé udělá nějaká metoda. Pro standardní textovou representaci __toString(). Je-li zapotřebí representovat ten objekt různě a cheš to řídit, tak prostě nějaká jiná metoda.

    Chceš-li obojí v logickém pořadí, tak nejdřív uděláš to první, pak to druhé -- předpokládám, že objekt přitom má smysl sám o sobě.

    Pokud chceš jen vyrobit nějaký string a objekt k ničemu není, tak do toho objekty a konstruktory nepleť.

    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.