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

    Uživatelé mobilních telefonů s Linuxem si nyní mohou nainstalovat aplikaci Mobilní Datovka. Díky tomu je přístup k datovým schránkám dostupný i na zařízeních s mobilními linuxovými distribucemi, jako jsou například Mobian, NixOS Mobile, pmOS atd. Aplikace je dostupná na Flathubu.

    David Heidelberg | Komentářů: 0
    dnes 13:33 | Komunita

    Software Freedom Conservancy v novém dokumentu shrnuje doporučení, jak přistupovat ke generativní AI založené na LLM při přispívání do svobodného a open-source softwaru. Mimo jiné vyzývá k obezřetnosti, transparentnosti a revizi generovaného kódu člověkem.

    |🇵🇸 | Komentářů: 0
    dnes 13:22 | Nová verze

    Byla vydána nová verze 5.6.0 programu na úpravu digitálních fotografií darktable (Wikipedie).

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

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma. V Týdnu v GNOME je zmíněn flatpak balíček pro GIMP 0.54.1 z roku 1996. Jedná se o poslední verzi GIMPu postavenou nad toolkitem Motif.

    Ladislav Hagara | Komentářů: 0
    včera 19:11 | Nová verze

    Home Assistant Operating System, tj. linuxová distribuce optimalizována pro hostování Home Assistanta a jeho aplikací, byl vydán v nové major verzi 18.0.

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

    Po šestiletém úsilí byla z jádra Linux odstraněna funkce strncpy(). Všechna předchozí volání této funkce byla převedena na bezpečnější alternativy.

    Ladislav Hagara | Komentářů: 1
    včera 17:22 | Nová verze

    Byla vydána nová verze 261 správce systému a služeb systemd (Wikipedie, GitHub). Z novinek lze vypíchnout nový subsystém IMDS (Cloud "Instance Metadata Service"), nový příkaz storagectl nebo novou komponentu systemd-sysinstall.

    Ladislav Hagara | Komentářů: 3
    včera 12:00 | Nová verze

    Vývojové prostředí Qt Creator bylo vydáno ve verzi 20 (seznam změn). Novinky zahrnují hlavně rozšíření pro integraci LLM agentů nebo minimalistický editační režim uživatelského rozhraní („zen mode“).

    |🇵🇸 | Komentářů: 0
    19.6. 10:22 | Humor

    Už jste se prolétli na webu Google Earth? Přibyl tam Simulátor letu (Nástroje / Simulátor letu). Funguje i bez účtu Google [𝕏].

    Ladislav Hagara | Komentářů: 0
    19.6. 09:55 | Nová verze

    Byla vydána nová verze 4.7 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1957 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: 281×
    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.