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:44 | Zajímavý projekt

    Na Kickstarteru běží kampaň na podporu hloupého (jenom volání a SMS) tlačítkového DIY telefonu MAKERphone 2.0 od společnosti CircuitMess postaveného na ESP32-S3 a volitelně také s hodinkami MAKERband. S možností psaní vlastních aplikací. S volitelnými HW rozšiřujícími moduly.

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

    Byla vydána nová verze 10.7 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Přibyly balíčky HomeBox a Scrypted.

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

    OpenRGB (GitLab) dospěl do verze 1.0 (YouTube). OpenRGB (dříve OpenAuraSDK) je svobodný multiplatformní software umožňující nastavení podsvícení celé řady různých „herních“ komponent a periferií.

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

    Dnes startuje prodej headsetu Steam Frame. Počínaje dneškem se tedy můžete zapsat na seznam pro jeden z následujících modelů: Steam Frame 256 GB za 1 049 EUR a Steam Frame 1 TB za 1 279 EUR.

    Ladislav Hagara | Komentářů: 0
    včera 17:44 | Bezpečnostní upozornění

    Vládní CERT upozorňuje na kritickou zranitelnost v GitLab Community Edition (CE) a Enterprise Edition (EE). Zranitelnost CVE-2026-85706 typu path traversal v Repository Commits API dosahuje skóre CVSS 10.0. Kvůli nedostatečnému omezení cest a chybějícímu vynucení autentizace může za určitých podmínek neautentizovaný útočník číst libovolné soubory ze serveru GitLab, a získat tak přístup k citlivým datům a konfiguraci instance.

    Ladislav Hagara | Komentářů: 0
    včera 12:00 | Zajímavý projekt

    Linux může běžet nativně na ESP32-S3 – bez emulace a rovnou s 9,7″ e-paperem.

    Ladislav Hagara | Komentářů: 1
    včera 00:11 | Nová verze

    Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 7.0.0. Pro sandboxing se na Linuxu nově používá Landlock místo Bubblewrap. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.

    Ladislav Hagara | Komentářů: 0
    13.9. 23:33 | Nová verze

    Správce fotografií Shotwell byl vydán ve verzi 33.0 (GitLab). Hlavní novinkou v tomto vydání po dvou letech je přechod na GTK4.

    ʚĭɞ 🍉 | Komentářů: 0
    13.9. 01:44 | Komunita

    Na YouTube byly publikovány videozáznamy přednášek a na Flickru fotografie z konference EuroPython 2026.

    Ladislav Hagara | Komentářů: 0
    12.9. 18:11 | Nová verze

    Byl vydán Debian 13.7, tj. sedmá opravná verze Debianu 13 s kódovým názvem Trixie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (7%)
     (5%)
     (2%)
     (14%)
     (21%)
    Celkem 2671 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: 518×
    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.