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 02:22 | Zajímavý software

    Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.

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

    Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.

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

    Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | Komunita

    Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.

    Ladislav Hagara | Komentářů: 4
    včera 12:55 | IT novinky

    Google na včerejší akci The Android Show | I/O Edition 2026 (YouTube) představil celou řadu novinek: Gemini Intelligence, notebooky Googlebook, novou generaci Android Auto, …

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | IT novinky

    Evropská komise by do léta mohla předložit návrh normy omezující používání sociálních sítí dětmi v zájmu jejich bezpečí na internetu. Prohlásila to včera předsedkyně EK Ursula von der Leyenová, podle níž řada zemí Evropské unie volá po zavedení věkové hranice pro sociální sítě. EU částečně řeší bezpečnost dětí v digitálním prostředí v již platném nařízení o digitálních službách (DSA), podle německé političky to však není dostatečné a

    … více »
    Ladislav Hagara | Komentářů: 27
    včera 04:11 | Nová verze

    Multiplatformní open source aplikace scrcpy (Wikipedie) pro zrcadlení připojeného zařízení se systémem Android na desktopu a umožňující ovládání tohoto zařízení z desktopu, byla vydána v nové verzi 4.0.

    Ladislav Hagara | Komentářů: 0
    12.5. 23:22 | Pozvánky

    Chybí vám někdo, s kým byste si popovídali o bastlení, technice, počítačích a vědě? Nechcete riskovat debatu o sportu u piva v hospodě? Pak doražte na virtuální pokec u virtuálního piva v rámci Virtuální Bastlírny organizované strahovským MacGyverem již tento čtvrtek. Možná se ptáte, co se tak může probírat? Dají se probrat slavná výročí - kromě 55 let obvodu 555 (což je mimochodem prý andělské číslo) a vzpomínky na firmu Signetics -

    … více »
    bkralik | Komentářů: 2
    12.5. 23:11 | Zajímavý software

    GTK2-NG je komunitní fork GTK 2.24 (aktuální verze je 4.22). Oznámení a diskuse v diskusním fóru Devuanu, forku Debianu bez systemd. Není to jediný fork GTK 2. Ardour je například postaven na vlastním forku GTK 2 s názvem YTK.

    Ladislav Hagara | Komentářů: 0
    12.5. 17:33 | Pozvánky

    V neděli 17. května 2026 proběhne v Českých Budějovicích první MobileLinux Hackday zaměřený na Linux v mobilech, embedded platformy a open source hardware. Po sedmi úspěšných měsíčních setkáních v Praze se akce přesouvá také do jižních Čech, aby se komunita mobilního Linuxu mohla potkat i mimo hlavní město. Akce se uskuteční v konferenčním sále Vajgar v Clarion Congress Hotelu (Pražská tř. 2306/14) se zahájením mezi 14:00 až 15:00 a … více »

    lkocman | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (9%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (25%)
    Celkem 1599 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Oprava kódu

    16.3.2017 04:22 Tomáš Hradecký
    Oprava kódu
    Přečteno: 612×
    Ahoj, pořád dostávám chybu

    Catchable fatal error: Method Controller::__toString() must return a string value in /www/index.php

    Nemůže mi prosím někdo poradit?
    class View{
         private $model;
         public function __construct($model){
              $this->model = $model;
         }
         private function title(){
              return $this->model->title();
         }
         public function __toString(){
              return   '<!DOCTYPE HTML>'.
                       '<html>'.
                            '<head>'.
                                 '<title'.$this->title().'</title>'.
                            '</head>'.
                            '<body>'.
                            '</body>'.
                       '</html>';
         }
    }
    
    class Model{
         public function __construct(){
         }
         public function title(){
              return 'title';
         }
    }
    
    class Controller{
         private $html;
         public function __construct(){
              $model = new Model ();
              $this->html = $view = new View ($model);
         }
         public function __toString(){
              return $this->html;
         }
    }
    
    $controller = new Controller();
    echo $controller;
    

    Odpovědi

    16.3.2017 05:26 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Oprava kódu
    $this->html není string, ale objekt. Obvykle pomůže přetypování zřetězením:
    public function __toString() {
         return '' . $this->html;
    }
    
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    kozzi avatar 16.3.2017 06:34 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Oprava kódu

    Ale fuj :D.

    http://php.net/manual/en/function.strval.php

    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    16.3.2017 16:12 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Oprava kódu
    No jo, obvykle v __toString() nevracím jen prezentaci vnořeného atributu, ale komplexní textovou prezentaci celého objektu. V daném případě je přetypování (string) vhodnější.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    kozzi avatar 16.3.2017 06:40 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Oprava kódu

    Normalne to pretypuj:

    public function __toString(){
        return (string)$this->html;
    }
    
    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    16.3.2017 14:17 Tomáš Hradecký
    Rozbalit Rozbalit vše Re: Oprava kódu
    Děkuji a to je běžná věc, že se přetypovávají proměnné nebo je to jen lenost/neschopnost programátorů?
    16.3.2017 14:59 chrono
    Rozbalit Rozbalit vše Re: Oprava kódu
    Áno, ak funkcia __toString vráti čokoľvek iné ako reťazec, je to neschopnosť programátora. :)
    kozzi avatar 17.3.2017 08:31 kozzi | skóre: 55 | blog: vse_o_vsem | Pacman (Bratrušov)
    Rozbalit Rozbalit vše Re: Oprava kódu

    Tak jde o to ze pokud mate nejnovejsi php, tak muzete (a mel by ste) urcit navratovy typ funkce

    ...
    class Controller{
         private $html;
         public function __construct(){
              $model = new Model ();
              $this->html = $view = new View ($model);
         }
         public function __toString():string {
              return $this->html;
         }
    }
    ...
    
    Potom uz neni treba pretypovat
    Linux je jako mušketýři "jeden za všechny, všichni za jednoho"
    17.3.2017 10:09 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Oprava kódu
    Je to otázkou priorit. Mé skripty musí fungovat na PHP 5.3 i 7.0. Nové vlastnosti PHP si tedy nemohu dovolit.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.

    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.