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 13:44 | IT novinky

    Největší kryptoměnová burza světa Binance se stala terčem útoku, při kterém podvodníci odcizili během několika minut kryptoměny v hodnotě přibližně 6,3 miliardy dolarů. Jedná se o největší kryptoměnovou krádež v historii, přibližně čtyřikrát větší než loňský útok na burzu Bybit. Binance se podařilo ve spolupráci s partnery zmrazit aspoň aktiva v hodnotě zhruba 3 miliard dolarů a slíbila, že veškeré ztráty pokryje z vlastních prostředků.

    Ladislav Hagara | Komentářů: 3
    dnes 02:16 | Bezpečnostní upozornění

    Zranitelnost CVE-2026-98432 s CVSS 9.8 odhalila AI od společnosti Anthropic. Jedná se o kritickou chybu v implementaci MPTCP (multipath TCP). Debian vydal patche 16.10. a 22.10., ale např. Ubuntu je zatím bez opravy. Více informací na The Hacker News.

    Max | Komentářů: 14
    včera 23:22 | Zajímavý software

    Na Slovensku vznikla úplne nová rally hra, ktorá je zadarmo a funguje vo Windowse, Linuxe či na Macu. Greenie Rally má viac ako 50 tratí a vozidiel, šampionáty či turnaje. Má retro feeling a imituje automobilové hry z prelomu tisícročí. Vyskúšate prejsť všetky mapy na Škode 130RS?

    Stanislav Hoferek | Komentářů: 3
    včera 14:33 | Komunita

    Do základního systému NetBSD -current byl přidán nový editor atto jako alternativa k editorům vi a xedit.

    Ladislav Hagara | Komentářů: 1
    včera 14:11 | IT novinky

    Společnost System76 představila kompaktní 11litrový Thelio Prime Desktop. S procesorem AMD Ryzen 9000. S Pop!_OS 24.04 LTS s desktopovým prostředím COSMIC nebo Ubuntu 24.04 LTS.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | Humor

    Čínská státní televize pozastavila vysílání španělské La Ligy a čínské internetové platformy omezily obsah s Kylianem Mbappém poté, co slavný fotbalista ve francouzském pořadu The Bridge mluvil o svém oblíbeném memu, v němž je jeho tvář vložena do portrétu zobrazujícího diktátora Mao Ce-tunga. 'Můj oblíbený mem je ten, na kterém dali můj obličej na čínského diktátora. To mě opravdu rozesmívá. S přáteli ho používám pořád' řekl,

    … více »
    Pendrekama do nich❗ | Komentářů: 7
    včera 13:22 | IT novinky

    Při příležitosti oslav Dne vzniku samostatného československého státu (28. října) byly uděleny medaile Za zásluhy tvůrci aplikace Záchranka Filipu Maleňákovi, vědci v oblasti umělé inteligence Tomáši Mikolovovi a Olze Štěpánkové, vědkyni zabývající se kybernetikou, robotikou a strojovým učením, průkopnici v oblastech výuky a využití umělé inteligence v medicínském inženýrství.

    Pendrekama do nich❗ | Komentářů: 7
    včera 01:33 | IT novinky

    Apple představil nový iPad mini, iMac s čipem M6, 14palcový MacBook Pro s čipem M6 a MacBook Pro s PROLED XDR displejem – první Mac s dotykovým ovládáním.

    Ladislav Hagara | Komentářů: 5
    28.10. 23:22 | Zajímavý projekt

    Nedávno představený projekt mapSTL.com řeší budoucnost. 𝕏: "Netušil jsem, kolik patentů na generování map existuje. Existují patenty na generování fantasy map 🫣. Cokoliv je na 3D tiskárnu a tvoří to produkt, bude to mít patenty. Tak bacha na to!" … více »

    Ladislav Hagara | Komentářů: 5
    28.10. 18:55 | Nová verze

    Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.4 (𝕏). Přehled novinek a vylepšení v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (20%)
     (29%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2946 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Dotaz: Objasnění chybové hlášky v PHP

    8.4.2012 22:01 Jiří P.
    Objasnění chybové hlášky v PHP
    Přečteno: 719×
    Dobrý večer, vysvěli by mi prosím někdo níže uvedenou chybu? Předem děkuji

    Strict Standards: Non-static method news::content() should not be called statically, assuming $this from incompatible context


    Řešení dotazu:


    Odpovědi

    8.4.2012 22:10 Kit
    Rozbalit Rozbalit vše Re: Objasnění chybové hlášky v PHP
    Metoda news::content() nebyla deklarována jako statická a snažil ses ji volat staticky.
    8.4.2012 22:23 Jiří P.
    Rozbalit Rozbalit vše Re: Objasnění chybové hlášky v PHP
    A co prosím přesě znamená, že jsm ji volal staticky? Jako, že jsem ji volal news::content(); ? Děkuji
    8.4.2012 22:47 Kit
    Rozbalit Rozbalit vše Re: Objasnění chybové hlášky v PHP
    Přesně tak. Buď tu metodu musíš označit jako statickou a pak ji tak můžeš volat, anebo z té třídy musíš vytvořit objekt $objekt=new news; a volat ji $objekt->content();
    8.4.2012 22:54 Jiří P.
    Rozbalit Rozbalit vše Re: Objasnění chybové hlášky v PHP
    patrně tomu rozumíš vice než je zdrávo, zeptám se tedy ještě na jeden dotaz, co má za účel statická třída? Pokud budu volat z nějaké třídy staticky jinou třídu.. Děkuji
    8.4.2012 23:09 Kit
    Rozbalit Rozbalit vše Re: Objasnění chybové hlášky v PHP
    Ze statické třídy se nevytváří objekty, ale sama funguje jako objekt. Používá se jen v případě, kdy potřebujeme pouze jeden objekt a nechceme, aby se vytvářely další. Dělají se tak například bloky konstant a statických funkcí nebo třeba pattern Singleton.
    8.4.2012 23:19 Jiří P.
    Rozbalit Rozbalit vše Re: Objasnění chybové hlášky v PHP
    Děkuji moc za ochotu a objasnění... ;)

    BTW: nedá se zavolat třída a objekt najednou?
    $object = new news();
    echo $object->content();
    něco jako
    echo new news()->content();
    Dík

    8.4.2012 23:34 Kit
    Rozbalit Rozbalit vše Re: Objasnění chybové hlášky v PHP
    Dá a poměrně často to používám, i když bych to nazval trochu jinak. Ve třídě je nutné nadefinovat magickou metodu __toString(), která vrací string. Použití je pak jednoduché:
    echo new news('parametry',$pro,'konstruktor');
    Ještě jeden dobrý zvyk: Dávej názvům tříd velké písmeno na začátku, lépe se to čte.
    echo new News('parametry',$pro,'konstruktor');
    8.4.2012 23:52 Jiří P.
    Rozbalit Rozbalit vše Re: Objasnění chybové hlášky v PHP
    Paráda, díky moc, říkal jsem poslední a už jsem to přetáhl tak ještě fakt poslední ;) a jdu spát.. Nevím jak správné zavolat z nějaké fci jinou fci ale ve stejné class. Děkuji
    class Menu{
      public function menu_creating($array){
      /* kod */
      }
      
      public function user($array){
      /* Tady nevím jak zavolat fci menu_creating() */
      }
    
      public function user($array){
      /* Tady nevím jak zavolat fci menu_creating() */
      }
    }
    mess avatar 9.4.2012 11:09 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
    Rozbalit Rozbalit vše Re: Objasnění chybové hlášky v PHP
    Pokud bude funkce menu_creating statická, pak Menu::menu_creating($blabla);, pokud ne (v tomhle tvém kódu není), tak $this->menu_creating($blabla);.
    Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
    9.4.2012 18:18 Kit
    Rozbalit Rozbalit vše Re: Objasnění chybové hlášky v PHP
    V případě statického volání metody uvnitř třídy bych raději místo
    Menu::menu_creating($blabla);
    použil
    self::menu_creating($blabla);
    viz článek na Intervalu.
    mess avatar 10.4.2012 15:22 mess | skóre: 43 | blog: bordel | Háj ve Slezsku - Smolkov
    Rozbalit Rozbalit vše Re: Objasnění chybové hlášky v PHP
    Jasně. Jsem si neuvědomil, že už to PHP nějakou chvíli umí s tím self.
    Cez párne mesiace zošíváš vaginy, cez neparne montuješ hajzle.
    10.4.2012 10:48 Jiří P.
    Rozbalit Rozbalit vše Re: Objasnění chybové hlášky v PHP
    Ahoj, tak jsem to zkoušel a zjistil jsem, že pokud použiji __toString() tak nenactu zadny prametr a class ani nic nevrati :-(.. Poradí někdo? Děkuji
              class Test{
    
                        public function __toString($pdo){
    
                                  $page = false;
    
                                  foreach ($pdo->query("SELECT * FROM text LIMIT 10") as $row) {
    
                                            $page .= $row['nadpis']."
    "; } return $this->page; } } echo New Test($pdo);
    10.4.2012 11:21 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Objasnění chybové hlášky v PHP
    Pletete dohromady konstruktor __toString() viz manuál a příklad:
    <?php
    class Test{
      private $cnt = NULL;
      function __construct ($cnt){
        $this->cnt = $cnt;
      }
      public function __toString(){
        $r = '';
        for($i=0;$i<$this->cnt;$i++)
          $r .= "Num: $i\n";
        return $r;   
      }
      
      private function getCntPlus10(){
        return $this->cnt + 10; 
      }
    
      static public function Iam(){
        return  "I'am Test"; 
      }
      public function foo(){
        return self::Iam() . ", cnt + 10 = " . $this->getCntPlus10();  
      }
    }
    echo new Test(3),"\n\n";
    $o = new Test(32);
    echo $o->foo();
    
    PS: to $page .= $row['nadpis']… lze zapsat i čitelněji $page .= "${row['nadpis']}\n";

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    10.4.2012 12:10 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Objasnění chybové hlášky v PHP
    Opravička: „Pletete dohromady konstruktor a metodu __toString()…“
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    10.4.2012 11:27 jos
    Rozbalit Rozbalit vše Re: Objasnění chybové hlášky v PHP
    __toString nemůže brát žádný parametry, přesuň to do konstruktoru
    class Test
    {
      function __construct($pdo)
      {
        $this->pdo = $pdo;
      }
      private $pdo;
      function __toString($pdo)
      {
        $page = '';
        foreach ($this->pdo->query("SELECT * FROM text LIMIT 10") as $row) {
          $page .= $row['nadpis']."\n";
        }
        return $page;
      }
    }
    
    echo new Test($pdo);
    
    
    http://cz.php.net/manual/en/language.oop5.magic.php#object.tostring
    10.4.2012 12:13 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Objasnění chybové hlášky v PHP

    a odsuň to z __toString($pdo) → __toString() :)

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    10.4.2012 12:27 jos
    Rozbalit Rozbalit vše Re: Objasnění chybové hlášky v PHP
    jasný, sem vůl, špatnej copy&paste&modify
    Tarmaq avatar 10.4.2012 13:08 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Objasnění chybové hlášky v PHP
    doplnil bych ze od PHP 5.4.0 by melo fungovat:
    echo (new news)->content();
    
    Don't panic!
    Josef Kufner avatar 10.4.2012 23:58 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Objasnění chybové hlášky v PHP
    Singleton není statická třída. Singleton je objekt jako každý jiný, ale místo konstruktoru se používá statická metoda, která vrací pořád jednu a tutéž instanci.

    A vůbec na statické věci a slovo static zapomeň. Dokud nevíš k čemu je, tak to nepotřebuješ. Naděláš tím víc škody než užitku. Slovíčka new a $this ti budou zatím stačit.
    Hello world ! Segmentation fault (core dumped)

    Založit nové vlákno • Nahoru

    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.