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 17:11 | Bezpečnostní upozornění

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) se spolu s partnery z dalších zemí připojil ke společnému upozornění (Joint Cybersecurity Advisory) týkajícímu se probíhající kybernetické kampaně skupiny LAUNDRY BEAR zaměřené na uživatele e-mailové platformy Zimbra Collaboration Suite (ZCS) nejméně od července 2025. NÚKIB doporučuje organizacím využívajícím Zimbra Collaboration Suite neprodleně ověřit, zda

    … více »
    Ladislav Hagara | Komentářů: 0
    dnes 14:22 | Nová verze

    Intel vydal 42 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20260811 mikrokódů pro své procesory.

    Ladislav Hagara | Komentářů: 0
    dnes 05:33 | Zajímavý článek

    Sny o designu GNOME Shellu, článek s náhledy a videi, představuje dlouhodobou vizi týmu GNOME pro vylepšení uživatelského rozhraní GNOME Shellu. Zatímco nedávné verze přinášely spíše drobné úpravy, designéři nyní plánují zásadnější změny.

    Ladislav Hagara | Komentářů: 9
    dnes 05:22 | Nová verze

    Byla vydána nová verze 10.5 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu důležitých bezpečnostních oprav, vylepšení funkcí a oprav chyb. Nově vyžaduje podporu ECC (Elliptic Curve Cryptography) v libcrypto, včetně křivky NISTP521.

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

    Byla vydána nová verze 10.6 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. S novými obrazy pro Orange Pi 4 Pro, Orange Pi Zero 3W a Odroid M1/M1S/M2. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | IT novinky

    Námořní drony používané elitními jednotkami britského královského námořnictva tajně posílaly údaje do Číny. Stroje vybavené čínskými komponenty měly být využívány pro vojenské operace na Blízkém východě. Kamery na dálkově řízených průzkumných člunech K3 Scout byly vybavené součástkami, které bez vědomí britského námořnictva odesílaly informace do spojeného zařízení v Číně. Britské námořní síly využívaly flotilu námořních dronů

    … více »
    Ladislav Hagara | Komentářů: 5
    včera 13:33 | IT novinky

    Alza.cz nabízí herní AlzaPC s předinstalovaným Linuxem (YouTube), konkrétně s linuxovou distribucí Bazzite (Wikipedie).

    Ladislav Hagara | Komentářů: 5
    včera 04:55 | Nová verze

    Squeak (Wikipedie), open source implementace programovacího jazyka a prostředí Smalltalk, byl vydán ve verzi 6.1. Přehled novinek v poznámkách k vydání.

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

    V Linuxu v KVM byla nalezena a v upstreamu již byla opravena kritická zranitelnost Zapscape aneb CVE-2026-64561. Root na hostovaném počítači (virtuální stroj) může obejít izolaci a získat plnou kontrolu nad hostitelským systémem (DoS útok nebo vzdálené spuštění kódu s právy roota). Na obou hlavních architekturách – Intel i AMD. Zranitelnost v Linuxu existovala 6 let (od července 2020 do července 2026).

    Ladislav Hagara | Komentářů: 0
    10.8. 19:00 | IT novinky

    Počítačová hra Knytt napsaná v Multimedia Fusion 2 byla vydána před 20 lety. Při této příležitosti byl dnes představen moderní port (YouTube) této plošinovky na současné operační systémy pod názvem Knytt Classic. Je zdarma k dispozici na Steamu a GOG.com.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (6%)
     (6%)
     (2%)
     (15%)
     (23%)
    Celkem 2373 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: 631×
    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.