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

    86Box (Wikipedie), tj. emulátor retro počítačů založených na x86, byl vydán ve verzi 6.0. Přibyly například zvuky pevného disku. Na GitHubu jsou vedle zdrojových kódů ke stažení také připravené balíčky ve formátu AppImage.

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

    Byla vydána nová verze 4.6 audio přehrávače Audacious (Wikipedie). Z novinek lze vypíchnout nový plugin pro procházení soubory, podporu audio formátu Musepack SV8 nebo přechod na build systém Meson.

    Ladislav Hagara | Komentářů: 0
    včera 15:55 | Nová verze

    Alliance for Open Media vydala verzi 1.0.0 specifikace svobodného videoformátu AV2. Jean-Baptiste Kempf, prezident neziskové organizace VideoLAN stojící za svobodným multiplatformním multimediálním přehrávačem a frameworkem VLC, představil na svém blogu dekodér AV2 s názvem dav2d.

    Ladislav Hagara | Komentářů: 0
    včera 15:00 | Nová verze

    V aktuálním přehledu vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) bylo oznámeno vydání nové verze 0.2.0.

    Ladislav Hagara | Komentářů: 0
    včera 14:33 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 26.5.1. Přehled novinek na GitHubu.

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

    Byla vydána nová stabilní verze 26.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Yarara. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    29.5. 00:22 | Nová verze

    Byla vydána verze 1.96.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ářů: 1
    28.5. 20:33 | IT novinky

    Společnosti IBM a Red Hat představily Project Lightwell s investicí 5 miliard dolarů. Jedná se o důvěryhodné clearingové centrum pro bezpečnost open source softwaru a zabezpečení dodavatelských řetězců s novým AI modelem a globální skupinou více než 20 000 softwarových inženýrů. Služby centra budou dostupné prostřednictvím komerčních předplatných. Project Lightwell staví na iniciativách jako Anthropic Glasswing nebo OpenAI Trust Access for Cyber.

    Ladislav Hagara | Komentářů: 1
    28.5. 18:22 | Nová verze

    Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové verzi 26.05. Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    28.5. 11:44 | IT novinky

    Český stát by v budoucnu mohl provozovat vlastní alternativu ke komunikačním aplikacím typu WhatsApp, Signal, Telegram, Facebook Messenger a podobně. Cílem je zajistit bezpečnou datovou komunikaci pro stát a jeho důležité subjekty, jako jsou bezpečnostní složky, ministerstva a další organizace.

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