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 20:55 | Komunita

Od 18. do 21. května proběhla v Saint-Étienne Linux Audio Conference 2017. Na programu byla řada zajímavých přednášek a seminářů. Videozáznamy přednášek lze zhlédnout na YouTube. K dispozici jsou také články a prezentace.

Ladislav Hagara | Komentářů: 0
dnes 20:44 | IT novinky

Hodnota Bitcoinu, decentralizované kryptoměny, překonala hranici 2 200 dolarů. Za posledních 30 dnů tak vzrostla přibližně o 80 % [reddit].

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

Po 5 měsících vývoje od vydání verze 0.12.0 byla vydána verze 0.13.0 správce balíčků GNU Guix a na něm postavené systémové distribuce GuixSD (Guix System Distribution). Na vývoji se podílelo 83 vývojářů. Přibylo 840 nových balíčků. Jejich aktuální počet je 5 454. Aktualizována byla také dokumentace.

Ladislav Hagara | Komentářů: 1
dnes 17:22 | Nová verze

Po 5 měsících vývoje a 3 týdnech intenzivního testování byla vydána verze 12 open source systému Nextcloud, forku ownCloudu, umožňujícího provoz vlastního cloudového úložiště. Přehled novinek i s videoukázkami v poznámkách k vydání. Pro vyzkoušení je k dispozici demo.

Ladislav Hagara | Komentářů: 2
dnes 11:44 | Zajímavý článek

Týden po prvním číslu publikoval Michal Špaček na svých stránkách druhé číslo newsletteru věnovanému bezpečnosti, bezpečnému vývoji převážně webových aplikací a bezpečnosti uživatelů. Věnuje se výpadku Let's Encrypt, únikům dat, bug bounty pro WordPress nebo SQL Injection v Joomla. Zmiňuje také, že Mozilla plánuje z Firefoxu odstranit podporu pro Encrypted Media Extensions (EME) na nešifrovaném HTTP a nadále pro EME vyžadovat HTTPS.

Ladislav Hagara | Komentářů: 0
dnes 02:00 | Pozvánky

Ve středu 31. května 2017 od 17:00 proběhne v pražské pobočce SUSE Den otevřených dveří v SUSE. Čekají vás přednášky o live kernel patchingu a nástroji SaltStack. Také se dozvíte zajímavé informace o SUSE, openSUSE, a vlastně všech produktech, na kterých lidé ze SUSE pracují.

Ladislav Hagara | Komentářů: 4
dnes 01:00 | Pozvánky

Czech JBoss User Group srdečně zve na setkání JBUG v Brně, které se koná ve středu 7. června 2017 v prostorách Fakulty informatiky Masarykovy univerzity v místnosti A318 od 18:00. Přednáší Tomáš Livora na téma Fault Tolerance with Hystrix. Více informací na Facebooku a Twitteru #jbugcz.

mjedlick | Komentářů: 0
19.5. 23:22 | Zajímavý projekt

Na Texture Ninja je volně k dispozici více než 4 tisíce textur. Autora lze podpořit na Patreonu.

Ladislav Hagara | Komentářů: 0
19.5. 10:22 | Pozvánky

Mozilla.cz zve na MozBeer Prague #2. Druhé setkání Mozilla.cz proběhne 26. května od 18:00 v Praze v Diversion Bistru v ulici Mělnická.

Ladislav Hagara | Komentářů: 0
18.5. 23:22 | Bezpečnostní upozornění

Průvodce restauracemi Zomato, jenž v roce 2014 koupil Lunchtime.cz, potvrdil bezpečnostní problém. Odcizeno bylo 17 miliónů záznamů o uživatelích (jména, emailové adresy, osolené hashe).

Ladislav Hagara | Komentářů: 8
Chystáte se pořídit CPU AMD Ryzen?
 (6%)
 (33%)
 (1%)
 (8%)
 (44%)
 (9%)
Celkem 587 hlasů
 Komentářů: 62, poslední 19.5. 01:57
    Rozcestník

    Dotaz: Problém s Class v PHP

    26.7.2013 14:10 Jaulík
    Problém s Class v PHP
    Přečteno: 236×
    Ahoj, poradí prosím někdo, jak vypsat tu třídu? Dostávám chybu Object of class Menu could not be converted to string. Děkuji za pomoc.
    <?php
    class Menu {
     function __construct() {
      $a = '
      '; $a.= '
    • AAA
    • '; $a.= '
    • BBB
    • '; $a.= '
    • CCC
    • '; $a.= '
    '; return $a; } } $menu = New Menu(); echo $menu; //Object of class Menu could not be converted to string ?>

    Odpovědi

    26.7.2013 14:16 Kit
    Rozbalit Rozbalit vše Re: Problém s Class v PHP
    1. Konstruktor nesmí mít return s parametrem.
    2. Proměnná $a je lokální, po ukončení konstruktoru je zapomenuta.
    3. Chybí ti metoda __toString().
    26.7.2013 14:20 Jaulík
    Rozbalit Rozbalit vše Re: Problém s Class v PHP
    Díky za super objasnění, čili teď je to dobře? Děkuji uctivě ;)
    <?php
    class Menu {
     function __construct() {
      $a = '
      '; $a.= '
    • AAA
    • '; $a.= '
    • BBB
    • '; $a.= '
    • CCC
    • '; $a.= '
    '; $this->__toString($a); } function __toString($a) { return $this->$a; } }
    26.7.2013 14:57 Kit
    Rozbalit Rozbalit vše Re: Problém s Class v PHP
    Ne. Proměnná $a musí být součástí objektu
    <?php
    class Menu {
       private $a;
       function __construct() {
          $this->a = '<ul>';
          $this->a.= '<li>AAA</li>';
          $this->a.= '<li>BBB</li>';
          $this->a.= '<li>CCC</li>';
          $this->a.= '</ul>';
       }
       function __toString($a) {
          return $this->$a;
       }
    }
    
    Takový objekt sice není ideální, ale už je funkční.
    26.7.2013 15:29 Jaulík
    Rozbalit Rozbalit vše Re: Problém s Class v PHP
    Díky ale mě to ani teď nefunguje, dostávám chybu: Method Menu::__tostring() cannot take arguments. Díky
    26.7.2013 15:32 Jaulík
    Rozbalit Rozbalit vše Re: Problém s Class v PHP
    Nemá být tohle
    function __toString($a) {
          return $this->$a;
       }
    

    napsáno takto? function __toString() { return $this->a; }
    Děkuji
    26.7.2013 15:42 Kit
    Rozbalit Rozbalit vše Re: Problém s Class v PHP
    Má. Při kopírování jsem to přehlédl. Magická metoda __toString() nemá žádné parametry.
    26.7.2013 15:28 Mr.S1lent.cz
    Rozbalit Rozbalit vše Re: Problém s Class v PHP
    Doporucuji procist toto http://www.tutorialspoint.com/php/php_object_oriented.htm a podobne tutorialy, nez se pustis do nejake "tvorby".
    26.7.2013 15:33 Kit
    Rozbalit Rozbalit vše Re: Problém s Class v PHP
    Mají tam dost hovadin. Lepší tutoriál neznáš?
    26.7.2013 15:38 Mr.S1lent.cz
    Rozbalit Rozbalit vše Re: Problém s Class v PHP
    To byl prvni odkaz na google, ani jsem ho skoro nevidel :D
    26.7.2013 20:18 Jaulík
    Rozbalit Rozbalit vše Re: Problém s Class v PHP
    Tak já nevím no :-( Pořád to vrací objekt a ne string :-(

    mám to takto
    class Menu
    {
       private $menu;
       function __construct()
       {
          $this->menu = 'Nějaký text';
       }
       
       function __toString()
       {
          return $this->menu;
       }
    }
    
    $txt = new Menu();
    
    var_dump($txt); // object(Menu)#9 (1) { ["menu":"Menu":private]=> string(11) "Nějaký text" }
    
    
    Tak co je ještě špatně? Díky
    26.7.2013 20:31 Kit
    Rozbalit Rozbalit vše Re: Problém s Class v PHP
    Pokud chceš string, musíš to použít jako string.
    echo $txt;
    var_dump($txt.'');
    
    apod.
    26.7.2013 20:41 Jaulík
    Rozbalit Rozbalit vše Re: Problém s Class v PHP
    Bez urážky, to si děláš prdel nebo to myslíš vážně? Když v tom __construct nahradím $this->menu = 'Nějaký text'; za $this->menu = 'monitor'; a dám echo $txt; tak to funguje ale nefunguje mi třeba echo $array[$txt];, aby to fungovalo tak to mám napsat takto? echo $array[$txt.''];. Díky
    26.7.2013 20:50 Kit
    Rozbalit Rozbalit vše Re: Problém s Class v PHP
    Myslím to vážně. Pokud budeš s objektem zacházet jako s textem, zavolá se interně metoda __toString().

    Ano, echo $array[$txt.''] je to správné řešení, které sice bude fungovat, ale po programátorské stránce je špatně. Netuším, čeho chceš dosáhnout, ale vidím, že na to jdeš blbě, že by sis měl pořídit nějakou učebnici programování a že tě už začínám mít dost.
    28.7.2013 13:01 xxx
    Rozbalit Rozbalit vše Re: Problém s Class v PHP
    neni lepsie pouzit pretypovanie?

    $array[(string)$txt];

    ako spajat retazec s prazdnym retazcom.
    28.7.2013 13:14 Kit
    Rozbalit Rozbalit vše Re: Problém s Class v PHP
    Je lepší nepoužívat objekt jako index. Je to jako kdyby ses chtěl střílet do nohy a uvažoval, jestli je lepší do levé nebo do pravé.

    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.