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:11 | IT novinky

    Firmy v EU musí počínaje dnešním dnem označovat obsah vytvořený umělou inteligencí. Znamená to povinnost informovat uživatele, že člověk komunikuje s chatbotem či jiným systémem AI. Rovněž obrázky, audia či videa, které jsou vytvořené nebo zmanipulované pomocí umělé inteligence a které mohou působit jako autentické, musejí být jasně označeny jako uměle vytvořené.

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

    Byla vydána nová major verze 11.0 open source unixového operačního systému NetBSD (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 19:55 | IT novinky

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) se zapojil do mezinárodní iniciativy vedené americkou agenturou CISA (Cybersecurity and Infrastructure Security Agency) a dalšími partnery, jejímž cílem je stanovit minimální náležitosti pro tzv. Software Bill of Materials (SBOM). Nový dokument přináší praktická doporučení, jak by měl vypadat přehled komponent softwaru a jak s ním v praxi pracovat. SBOM lze

    … více »
    Ladislav Hagara | Komentářů: 1
    včera 03:00 | Nová verze

    V aktuálním přehledu vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) bylo oznámeno vydání nové verze 0.4.0. Výrazně se zlepšilo vykreslování stránek jako lichess.org, Zulip nebo Speedtest.

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

    Vládní CERT upozorňuje (𝕏) na kritické zranitelnosti v produktech VMware: CVE-2026-59309, CVE-2026-59310 a CVE-2026-47876. Zranitelnosti v VMware vCenter umožňují vzdálenému útočníkovi se síťovým přístupem obejít autentizaci a získat neoprávněný přístup k vCenter, případně zneužít directory traversal ke spuštění libovolného kódu na vCenter.

    Ladislav Hagara | Komentářů: 1
    31.7. 18:33 | Bezpečnostní upozornění

    Společnost Coinkite upozorňuje na bezpečnostní chybu svých hardwarových kryptopeněženek Coldcard. Jedná se o kritickou chybu v generování náhodných čísel (RNG). Místo hardwarového generátoru náhodných čísel (TRNG) byl omylem používán softwarový fallback (PRNG).

    Ladislav Hagara | Komentářů: 3
    31.7. 14:11 | Zajímavý projekt

    Představena byla nová linuxová distribuce Shadowfetch Linux. Na rozdíl od mnoha nováčků, které nabízejí převážně jiné téma a výběr softwaru, tato distribuce založená na Debianu Testing s desktopovým prostředím KDE Plasma 6.6, klade lokálně běžící umělou inteligenci do centra svého desktopového zážitku.

    Pinhead | Komentářů: 0
    30.7. 17:22 | Zajímavý projekt

    Max Leiter v roce 2019 zkusil zprovoznit X server na iPadu (iOS). Nyní se k tématu vrátil a s pomocí LLM a balíčkovacích nástrojů Procursus rozběhl desktop s X11 i Waylandem. Jeho balíčky jsou dostupné v repozitáři xiOS.

    |🇵🇸 | Komentářů: 24
    30.7. 13:33 | IT novinky

    Společnost Google Cloud dnes oznámila, že její infrastruktura a služby byly oficiálně zařazeny do Katalogu cloud computingu vedeného Digitální a informační agenturou (DIA). Tato certifikace potvrzuje, že infrastruktura a služby Google Cloud splňují přísné bezpečnostní a regulační požadavky České republiky pro provoz cloudových služeb ve veřejném sektoru.

    Ladislav Hagara | Komentářů: 6
    30.7. 13:11 | IT novinky

    Vůbec poprvé v historii se stát při testování digitálních služeb obrací na širokou veřejnost. Digitální a informační agentura (DIA) a Ministerstvo vnitra zvou občany k zapojení do zátěžového testu eDokladů, které od loňského podzimu prošly optimalizací aplikace a posílením infrastruktury. Test proběhne 13. srpna ve 13:00 a pro jeho úspěch bude potřeba zapojení několika desítek tisíc občanů. Zapojení do testu je zcela dobrovolné a úkol

    … více »
    Ladislav Hagara | Komentářů: 42
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (18%)
     (30%)
     (5%)
     (6%)
     (2%)
     (15%)
     (23%)
    Celkem 2299 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Jak vypsat html uvnitř metody

    13.4.2012 12:30 Soleto
    Jak vypsat html uvnitř metody
    Přečteno: 357×
    Ahoj,

    mám něco takového
    class foo {
      function show{
        $to = '<span>'.time().'</span>';
        return $to;
      }
    }
    ale potřeboval bych to mít napsané nějak takto
    class foo {
      function show{
        <span><?php echo time(); ?></span>
        return ?????;
      }
    }
    Ale nevím jak to vrátit returnem nebo prostě jak to vrátit jinak. Poradí někdo? Děkuji

    Řešení dotazu:


    Odpovědi

    Tarmaq avatar 13.4.2012 12:52 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Jak vypsat html uvnitř metody
    co ma ta metoda show() delat? ma tisknout nebo neco vracet nebo co? Ten kod v tom druhem bloku je nejaky blaznivy, napis to znovu a lepe..
    Don't panic!
    13.4.2012 13:08 Soleto
    Rozbalit Rozbalit vše Re: Jak vypsat html uvnitř metody
    Ano, po metodě show() chci aby vracela, kdyby měla isknout tak tam dám echo. Takhle nevím jak to udělat.. Co se ti ma tom nezdá?
    class foo {
      function show{
        <span><?php echo time(); ?></span>
        return ?????;
      }
    }
    
    $foo = new foo();
    echo $foo->show();// vypsat to potrebuji až tady..
    
    13.4.2012 15:19 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Jak vypsat html uvnitř metody
    function show1(){
      return '<span>'. time(). '</span>';
    }
    
    OR //náročnějí
    function show2(){
      $pomstr = '<span>'. time(). '</span>';
      return $pomstr;
    }
    
    OR //náročnějí
    function show3(){
      $pomstr = '<span>';
      $pomstr .= time();
      $pomstr .= '</span>';
      return $pomstr;
    }
    
    PS: Nemyslím to zle (ba naopak), ale asi by to chtělo položit dotaz „jaká je nejlepší kniha o PHP a objektovém programování“.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    13.4.2012 15:43 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Jak vypsat html uvnitř metody
    Předpokládám, že tazateli šlo o to, jak potřebný text neuvádět jako obsah řetězce, ale uvést jej jako část vstupního dokumentu (tj. mimo části <?php … ?>). Předpokládám, že tam nemá být obyčejný <span>, ale nějaký delší kód, kde mohou být uvozovky, apostrofy atd., a tazatel se chce vyhnout složitému uvozování a spojování.

    Myslím, že PHP něco takového neumožňuje, a je to obecně problém jazyků, které míchají šablonu s programovým kódem. Podle mne by nejčistší řešení v případě, kdy chcete šablonu a kód míchat, bylo nevracet ten text jako výstup z metody, ale rovnou jej vypsat na výstup. Pak snad můžete použít konstrukci
    <?php
    class foo {
      function show{
    ?>
        <span><?php echo time(); ?></span>
    <?php
        return ?????;
      }
    }
    ?>
    
    Vracet ten text jako návratovou hodnotu funkce je divné, stejně to předpokládám budete chtít vypsat do výstupu. Ale jak už jsem psal, když máte jako základ špinavost typu míchání šablony a kódu, těžko pak hledat nějaké čisté řešení.
    13.4.2012 15:47 Filip Jirsák | skóre: 67 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Jak vypsat html uvnitř metody
    Jinak dostat ten text do proměnné místo na výstup by šlo pomocí ob_start() a ob_get_contents(). Ale nevím, zda je to spolehlivé řešení a zda se předpokládá takové využití těch funkcí, nebo zda by to byl jen hack.
    13.4.2012 16:06 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Jak vypsat html uvnitř metody
    ob_xxxx jsou standardní funkce běžně používané na zachycení výstupu.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    13.4.2012 17:47 Kit
    Rozbalit Rozbalit vše Re: Jak vypsat html uvnitř metody
    Je to spolehlivé řešení a dokonce je i rychlejší, než generování výstupu přímo.
    13.4.2012 16:15 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Jak vypsat html uvnitř metody
    Přiznám se, že jsem to úplně nepochopil, ale asi něco takovéhoto:
    $str = <<<MY_UNIQUE_DELIMITER
    <span>
    Dlouhy kod obsahující "'$ a další blbosti,
    ale samozřejmně znaky " do html takto jsou špatně,
    pokud tedy nejsou tam kde mají být.
    </span>
    MY_UNIQUE_DELIMITER;
    
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    13.4.2012 16:19 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Jak vypsat html uvnitř metody
    No samozřejmě blbě, protože to nepoužívám $ musí být \$;
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Tarmaq avatar 13.4.2012 17:13 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Jak vypsat html uvnitř metody
    Nezdalo se mi na tom to, ze to obsahuje spoustu syntax erroru a nedavalo to moc smysl.. jinak ted uz asi chapu o co ti jde, chces aby v tom spanu byl cas v dobe deklarace tridy a ne v dobe kdy se vola na jeji instanci metoda show(). Je to tak?

    Pak bych to udelal takhle:
    $myTime = time();
    class foo
    {
      public function show($time)
      {
        return '<span>'.$time.'</span>';
      }
    }
    
    $foo = new foo();
    echo $foo->show($myTime);
    
    Don't panic!
    13.4.2012 17:44 Kit
    Rozbalit Rozbalit vše Re: Jak vypsat html uvnitř metody
    Asi bych ten čas dal rovnou do třídy. Můžu si tak udělat víc měřičů nezávislých na sobě.
    class Foo {
      private $myTime;
    
      public function __construct() {
        $this->myTime=time();
      }
    
      public function __toString($time) {
        return '<span>'.$this->myTime.'</span>';
      }
    }
    
    $foo = new Foo();
    echo $foo;
    
    Tarmaq avatar 13.4.2012 17:55 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Jak vypsat html uvnitř metody
    No to zalezi na tom, k cemu ma slouzit trida Foo. Pokud to ma byt nejake univerzalni "malovatko", tak predavat parametrem do metody. Pokud to ma byt trida ktera nejak vic s tim casem pracuje, predat do konstruktoru a ulozit do privatni promenne je lepsi.

    Jinak on tam ale asi nechce cas, instanciace tridy ale cas kdy byla deklarovana. Nevim jaky k tomu ma duvod, asi mezi tim kodem probiha neco casove narocnejsiho co chce zmerit. Ale to jen hadam..
    $myTime = time();
    class Foo {
      private $myTime;
    
      public function __construct() {
        $this->myTime = time();
      }
    
      public function __toString($time) {
        return '<span>'.$this->myTime.'</span>';
      }
    }
    
    $foo = new Foo($myTime);
    echo $foo;
    
    Don't panic!
    13.4.2012 13:20 chrono
    Rozbalit Rozbalit vše Re: Jak vypsat html uvnitř metody
    Dá sa urobiť napr. niečo takéto:
    <?php
    function eval_code($s)
    {
            ob_start();
            eval("?>" . $s . "<?php ");
            $t = ob_get_contents();
            ob_end_clean();
            return $t;
    }
    
    function show()
    {
        return eval_code("<span><?php echo time(); ?></span>");
    }
    
    echo show();
    
    Je ale otázne, ako veľmi to je (ne)bezpečné a určite je rozumnejšie riešenie použiť nejaký šablónovací systém.
    rADOn avatar 13.4.2012 14:38 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Jak vypsat html uvnitř metody
    class foo {
      function show() {
        return "" . time() . "";
      }
    }
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    13.4.2012 16:52 Ivo
    Rozbalit Rozbalit vše Re: Jak vypsat html uvnitř metody
    <?php
    class foo {
      function show{
         ob_start();
    ?>
        <span><?php echo time(); ?></span>
    <?php
        $ret = ob_get_contents();
        ob_end_clean();
        return $ret;
      }
    }
    ?>
    

    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.