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 12:22 | Nová verze

    Webový prohlížeč Waterfox (Wikipedie), fork Firefoxu, byl vydán ve verzi 6.7.0. Postaven je na jádru Gecko ESR 153.

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

    Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.17.0. Podrobný přehled novinek v changelogu. Přidána byla základní podpora gamepadů. Opraveno bylo několik zranitelností. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.

    Ladislav Hagara | Komentářů: 0
    dnes 11:00 | IT novinky

    Americká technologická společnost Apple loni v Irsku na daních zaplatila 17 miliard dolarů (zhruba 350 miliard Kč). To představovalo 40 procent celkové částky, kterou firma odvedla na dani z příjmů po celém světě. Vyplývá to z účetních výkazů podniku. Platbu výrazně zvýšilo rozhodnutí Soudního dvora EU z roku 2024, podle něhož měl Apple doplatit Irsku na daních 13 miliard eur (313 miliard Kč).

    Ladislav Hagara | Komentářů: 0
    dnes 09:55 | Zajímavý projekt

    CrossPoint Reader je open-source alternativní firmware pro menší, levné čtečky, vybavené cca čtyřpalcovým e-ink displejem. Zahrnuje aplikaci pro čtení e-knih a webový server pro konfiguraci a přenos souborů po síti. Verze 1.0 byla vydána v únoru 2026. Recenze současné verze 1.5 vyšla na Linux Weekly News.

    |🇵🇸 | Komentářů: 0
    21.8. 05:00 | Nová verze

    Byla vydána verze 1.98.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
    21.8. 04:22 | Nová verze

    Byla vydána nová verze 7.1 (YouTube) svobodného open source redakčního systému WordPress. Kódové jméno Mary Lou bylo vybráno na počest americké jazzové klavíristky Mary Lou Williams (YouTube).

    Ladislav Hagara | Komentářů: 0
    20.8. 19:11 | Nová verze

    Bun (Wikipedie), tj. běhové prostředí (runtime) a toolkit pro JavaScript a TypeScript, alternativa k Node.js a Deno, byl vydán ve verzi 1.4. Představení novinek také na YouTube. Bun byl přepsán z programovacího jazyka Zig do Rustu. Pomocí Claude Fable 5.

    Ladislav Hagara | Komentářů: 0
    20.8. 12:33 | Nová verze

    Vývojáři KDE na Mastodonu oznámili vydání balíku aplikací KDE Gear 26.08. Přehled novinek i s náhledy a videi v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    20.8. 04:11 | IT novinky

    Společnost PINE64 kvůli nedostatku a vysokým cenám DRAM a eMMC dočasně pozastavuje výrobu linuxových zařízení. Výroba zařízení jako PineTime, PineVoice a Pinecil pokračuje.

    Ladislav Hagara | Komentářů: 0
    20.8. 02:55 | IT novinky

    Společnost Stripe se dohodla na akvizici společnosti OpenRouter. Za 7,5 miliardy dolarů.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (19%)
     (30%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2474 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    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: 424×
    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.