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 21:22 | Pozvánky

    Oslavte vydání openSUSE Leap 16.1 s námi v Praze! Ve středu 4. listopadu 2026 (den po vydání Leapu 16.1) vás zveme na malou oslavu vydání openSUSE Leap 16.1 do pražské kanceláře SUSE. Připravili jsme pro vás dvě krátké přednášky: … více »

    lkocman | Komentářů: 1
    dnes 16:44 | Bezpečnostní upozornění

    Dle plánu bylo PHP vydáno v nových verzích 8.5.12, 8.4.27, 8.3.36 a 8.2.35. Opraveny jsou kritické zranitelnosti CVE-2026-109618 a CVE-2026-109619 aneb PHP2Shell.

    Ladislav Hagara | Komentářů: 5
    dnes 11:55 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-2.1 a 24.04-1.5. S opravou kritických zranitelností.

    Ladislav Hagara | Komentářů: 1
    dnes 11:33 | IT novinky

    Společnost Škoda Auto zveřejnila na Printables bezplatné 3D modely příslušenství do svých vozů (držáky na nápoje, pomůcky pro vedení kabelů, mincovníky, háčky na USB kabely a čepice pro kapsy na zadních stranách opěradel sedadel, držáky na telefony a úchyty pro horní upevnění bezpečnostních pásů).

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

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 170 (pdf).

    Ladislav Hagara | Komentářů: 1
    dnes 04:33 | Bezpečnostní upozornění

    Dnes v 16:00 (14:00 UTC) budou opraveny 2 kritické zranitelnosti s CVSS 9.2 v PHP.

    Ladislav Hagara | Komentářů: 7
    dnes 01:37 | Bezpečnostní upozornění

    Nizozemská policie 13. října 2026 zabavila v datacentru Amsterdam Science Park server italského poskytovatele internetových služeb Autistici/Inventati (A/I), a to na základě americké žádosti o mezinárodní právní pomoc.… více »

    vencour | Komentářů: 9
    včera 20:47 | Bezpečnostní upozornění
    Hlášeny RCE v NGINX. Náprava dostupná. … více »
    vencour | Komentářů: 0
    včera 20:33 | IT novinky

    Do 26. října do 18:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | říjen 2026 (YouTube) doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.

    Ladislav Hagara | Komentářů: 0
    včera 20:22 | Zajímavý software

    Čínská technologická společnost DeepSeek zveřejnila na GitHubu svůj framework DeepInfer, nástroj pro efektivní offline inferenci svého modelu DeepSeek-V4.1-Flash ve velkém měřítku. Software běží na Linuxu a nativně podporuje akcelerátory Nvidia ale i čipy Huawei Ascend 950. Jedná se pouze o samotný inferenční engine, ne kompletní produkční službu. Zdrojový kód je dostupný pod licencí Apache 2.0.

    ❗Červivý Hřib krade❗ | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (30%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2888 hlasů
     Komentářů: 33, poslední včera 23:44
    Rozcestník

    Dotaz: Jak získat string z define v PHP ?

    2.6.2016 18:47 Marko
    Jak získat string z define v PHP ?
    Přečteno: 843×
    Ahoj všichni. Poradí mi prosím někdo ? Děkuji

    define(DEF_OS_0, 'Linux');
    
    class..
    public function getName($k)
    {
      return 'DEF_OS_'.$k;
    }
    
    echo $class->getName(0); //dostanu string "DEF_OS_0" místo požadovaného "Linux"

    Řešení dotazu:


    Odpovědi

    2.6.2016 18:51 voda | skóre: 28
    Rozbalit Rozbalit vše Re: Jak získat string z define v PHP ?
    Použij funkci constant.
    2.6.2016 18:55 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Jak získat string z define v PHP ?
    Funkce constant()

    Doporučuji však se tohoto nešvaru zbavit. Define nemá v OOP co pohledávat, stejně jako metoda getName().
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    2.6.2016 18:58 Marko
    Rozbalit Rozbalit vše Re: Jak získat string z define v PHP ?
    A co se používá místo define ?
    2.6.2016 19:08 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Jak získat string z define v PHP ?
    Konstanty, které strčíš do vhodné třídy, která tu konstantu používá.

    Velmi často ji však injektuji do konstruktoru objektu, takže se tím třída stává o něco univerzálnější - můžu tak podle jedné třídy vyrábět různé instance.

    Konstanty se také dají definovat v rozhraní.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    8.6.2016 22:42 tacoberu | skóre: 6
    Rozbalit Rozbalit vše Re: Jak získat string z define v PHP ?
    Přehlédl jsi se. Máš tam DEF_OS_ uvozené uvozovkama.

    Pár poznámek:

    Když už se obtěžuješ s OOP, tak je opravdu lepší, když tu hodnotu 'Linux' předáš do toho objektu skrze konstruktor. Třeba takto:
    class A
    {
      private $def_os;
      public function __constructor($def_os)
      {
        $this->def_os = $def_os;
      }
      public function formatName($k)
      {
        return $this->def_os . $k;
      }
    }
    
    To je kůli tomu, aby ta třída A nemusela znát, kde tu hodnotu uchováváš. Máš pak svobodu uchovávat tu hodnot i jinde než v DEF_OS, máš svobodu ji přejmenovat, nahradit. Můžeš zavolat dvě instance třídy A s různými hodnotami def_os, etc. Nevynucuješ, že aby si použitl třídu A, tak musíš mět někde definovanou konstantu DEF_OS.

    Pak je otázka názvosloví. Používání getName() jako getteru je samozřejmě zcela v souladu s OOP. Ale zrovna ten prefix get* je obvykle používán ve smyslu získání nějaké hodnoty, bez parametru.
    9.6.2016 01:18 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Jak získat string z define v PHP ?
    Gettery ani settery do OOP nepatří protože porušují zapouzdření objektu.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    9.6.2016 03:17 tacoberu | skóre: 6
    Rozbalit Rozbalit vše Re: Jak získat string z define v PHP ?
    Neporušují :-)
    9.6.2016 03:24 tacoberu | skóre: 6
    Rozbalit Rozbalit vše Re: Jak získat string z define v PHP ?
    Tak teď jsem si teprve všiml, že jsem se přehlédl já :-) Koukám, že ty se tam totiž dotazuješ na konstantu, jejíž název teprve vytváříš. Dost divoké. Řešení je tedy to co psal voda. Použít funkci constant().

    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.