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 | Komunita

    Bylo spuštěno hlasování o přednáškách a workshopech pro letošní Installfest, jenž proběhne o víkendu 28. a 29. března v Praze na Karlově náměstí 13.

    Ladislav Hagara | Komentářů: 1
    dnes 04:33 | Nová verze

    Byla vydána (Mastodon, 𝕏) třetí RC verze GIMPu 3.2. Přehled novinek v oznámení o vydání. Podrobně v souboru NEWS na GitLabu.

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

    Apple představil iPhone 17e a iPad Air s čipem M4.

    Ladislav Hagara | Komentářů: 9
    včera 21:11 | Zajímavý software

    Byla vydána verze 1.0 editoru kódů Gram. Jedná se o fork editoru Zed bez telemetrie a umělé inteligence.

    Ladislav Hagara | Komentářů: 0
    včera 20:33 | IT novinky

    Byla oznámena spolupráce GrapheneOS s Motorolou. Podrobnosti v tiskové zprávě. GrapheneOS (Wikpedie) je varianta Androidu zaměřující se na bezpečnost a soukromí.

    Ladislav Hagara | Komentářů: 0
    včera 02:22 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 26.2.1. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    včera 02:11 | Komunita

    Volí se dvě místa v Radě openSUSE. Seznamte se se čtyřmi kandidáty. Členové projektu openSUSE mohou hlasovat od 1. do 8. března. Výsledky budou oznámeny 9. března.

    lkocman | Komentářů: 3
    1.3. 19:22 | IT novinky

    Společnost OpenAI uzavřela dohodu s americkým ministerstvem obrany o poskytování technologií umělé inteligence (AI) pro utajované sítě americké armády. Firma to oznámila několik hodin poté, co prezident Donald Trump nařídil vládě, aby přestala využívat služby společnosti Anthropic.

    Ladislav Hagara | Komentářů: 13
    1.3. 13:33 | IT novinky

    Technologická společnost Anthropic v noci na dnešek oznámila, že se obrátí na soud kvůli rozhodnutí ministerstva obrany označit ji za bezpečnostní riziko dodavatelského řetězce poté, co nevyhověla jeho požadavkům týkajícím se používání umělé inteligence (AI). Prezident Donald Trump krátce před tím uvedl, že nařídil federálním úřadům postupně ukončit využívání jejích AI technologií. Spor mezi firmou vyvíjející chatbot Claude a

    … více »
    Ladislav Hagara | Komentářů: 16
    28.2. 15:44 | Upozornění

    Zemřel Rob Grant, spolutvůrce kultovního sci-fi seriálu Červený trpaslík.

    Ladislav Hagara | Komentářů: 8
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (7%)
     (0%)
     (12%)
     (27%)
     (2%)
     (5%)
     (2%)
     (13%)
     (26%)
    Celkem 1000 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    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: 568×
    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á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.