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

Byly stanoveny termíny konferencí LinuxDays 2017 a OpenAlt 2017. Letošní LinuxDays proběhne o víkendu 7. a 8. října v Praze v Dejvicích v prostorách FIT ČVUT. Letošní OpenAlt proběhne o víkendu 4. a 5. listopadu na FIT VUT v Brně.

Ladislav Hagara | Komentářů: 0
dnes 11:11 | Komunita

Jiří Eischmann z desktopového týmu Red Hatu se v příspěvku Linuxový desktop: Co vám chybí na svém blogu ptá, co uživatele na Fedora Workstation a na linuxovém desktopu obecně trápí a co by desktopový tým mohl zlepšit. Pokud máte nějaké podněty, napište mu je do komentářů.

Ladislav Hagara | Komentářů: 35
dnes 03:33 | Nová verze

Byla vydána nová verze 0.25.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Z novinek lze zmínit například podporu DVB-T2. Další části mpv byly přelicencovány z GPLv2 nebo novější na LGPLv2.1 nebo novější (#2033).

Ladislav Hagara | Komentářů: 0
dnes 02:22 | Zajímavý projekt

Na Bundle Stars byla spuštěna akce Dollar Forever Bundle. Za 1 dolar lze získat 24 počítačových her bežících na platformě Steam také v Linuxu.

Ladislav Hagara | Komentářů: 1
včera 23:44 | Zajímavý software

Lychee je jedním z open source softwarů pro tvorbu webových fotoalb. Vyžadováno je PHP 5.5 nebo novější a MySQL. Ukázka na stránkách projektu. Zdrojové kódy jsou k dispozici na GitHubu pod open source licencí MIT [reddit].

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

Společnosti Haivision a Wowza společně oznámily vznik SRT Alliance a otevření protokolu pro streamování videa SRT. Podrobnosti v FAQ. Zdrojové kódy SRT jsou k dispozici na GitHubu pod open source licencí LGPLv2.1.

Ladislav Hagara | Komentářů: 0
včera 12:33 | Humor

Byl vydán remake filmu Ghost in the Shell. Tentokrát v Bashi. Zhlédnout lze online na "ssh ghost@theshell.xyz" [Hacker News].

Ladislav Hagara | Komentářů: 16
23.4. 20:40 | Zajímavý článek

Lukáš Růžička v článku S Hydrogenem za lepší rytmus aneb bubeníkem snadno a rychle na MojeFedora.cz představuje automatického bubeníka s názvem Hydrogen (Wikipedie): Hydrogen je velmi vydařený program, který rozhodně nesmí chybět ve výbavě žádného linuxového muzikanta. Umožňuje nejen vytváření jednoduchých bicích doprovodů, ale také sofistikované programování bicích a perkusí, jehož výsledek se naprosto vyrovná drahým

… více »
Ladislav Hagara | Komentářů: 17
23.4. 13:55 | Zajímavý projekt

UPSat (Twitter) je první open source nanodružice (CubeSat). Jedná se o společný projekt nadace Libre Space Foundation a University of Patras. Repozitáře projektu jsou k dispozici na GitHubu. Pod Libre Space Foundation patří také projekt SatNOGS (zprávička), projekt globální sítě open source pozemních satelitních stanic, vítězný projekt soutěže The Hackaday Prize 2014. UPSat je součástí mise QB50 (Twitter). ID UPSatu je GR02. GPS přijímač na UPSatu je od české společnosti SkyFox Labs. Součástí mise QB50 je i česká nanodružice VZLUSAT-1 s ID CZ02.

Ladislav Hagara | Komentářů: 5
21.4. 15:00 | Komunita

V diskusním listu Thunderbird planning vývojáři poštovního klienta Thunderbird řeší, zda by nebylo možné budoucí Thunderbird postavit nad webovými technologiemi, tj. nad Electronem, stejně jako například Nylas Mail. Gecko, nad kterým je Thunderbird postaven, se má hodně změnit. V plánu je odstranění vlastností, které Firefox už nepotřebuje, ale Thunderbird je na nich závislý [Hacker News, reddit].

Ladislav Hagara | Komentářů: 102
Chystáte se pořídit CPU AMD Ryzen?
 (4%)
 (34%)
 (0%)
 (7%)
 (45%)
 (9%)
Celkem 298 hlasů
 Komentářů: 32, poslední včera 12:24
    Rozcestník

    Dotaz: prepisovani funci - php

    1.3.2013 17:18 Pavel80
    prepisovani funci - php
    Přečteno: 692×

    Ahoj, je mozne prepsat funkci? Něco jako bych si vytvořit instanci třídy Kniha, a chtěl aby mi vždy vracela jako název nastavený text. Nějak podobne jako to lze třeba v javě?
    $kniha = new Kniha() {
    public function getNazev() {
    return "novy nazev";
    }
    }

    a potom vždy když by se zavolalo: $kniha->getNazev() dostal bych "novy nazev". Je neco takoveho v php mozne? a jak na to? díky.

    Odpovědi

    Tarmaq avatar 1.3.2013 17:28 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: prepisovani funci - php
    class Kniha
    {
      public function getNazev()
      {
        return "novy nazev";
      }
    }
    $kniha = new Kniha();
    echo $kniha->getNazev();
    
    Predpokladam ale, ze ten nazev tam chces strkat zvenku:
    class Kniha
    {
      public function __construct($nazev)
      {
        $this->nazev = $nazev;
      }
      private $nazev;
      public function getNazev()
      {
        return $this->nazev;
      }
    }
    $kniha = new Kniha("novy nazev");
    echo $kniha->getNazev();
    
    Don't panic!
    1.3.2013 17:28 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: prepisovani funci - php
    Cože?
    <?php
    class Kniha{
      private $name;
      public function __construct($name) {
        $this->name = $name;
      }
      public function getName(){
        return $this->name;
      }
    }
    $kniha = new Kniha("Alenka v říši divů");
    echo $kniha->getName();
    
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    1.3.2013 18:06 Pavel80
    Rozbalit Rozbalit vše Re: prepisovani funci - php
    díky, ale tohle jsem zrovna nemyslel. Právě ani nevím, jestli to, co chci, php umí.

    1)
    Budu mít třídu kniha - nechci do ní nic setovat přes konstruktor ani přes žádnou jinou funkci.
    Pak budu mít třídu Knihovna, ve které je vytovřena instance třídy Kniha.
    Pouze v té třídě Knihovna chci, aby funkce getNazev() z třídy Kniha vždy vracela třeba "XXX". Takže pouze pro tuto instanci knihy chci upravit fungování funkce getNazev().

    2)
    Nebo pokud bych to vzal přes jiný příklad s abstraktní funkcí. Kniha bude abstraktní třída a getNazev() bude abstraktní funkce.
    Je možné vytvořit v php instanci abstraktní třídy Kniha bez toho, abych si nejprve vytvořil třídu "KnihaImplementace extends Kniha"? Ale přímo s tou abstraktní třídou udělal $kniha = new Kniha() a nyní ji teprve nějak doimplementoval fungování metody getNazev()? Doimplemetoval bych tedy tu funkci getNazev teprve ve třídě Knihovna (případně všude, kde by byla vytvářena její nová instance).
    1.3.2013 18:48 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: prepisovani funci - php
    Jo tyhle prasárny :), nevím od které verze:
    <?php
    date_default_timezone_set('Europe/Prague');
    
    class Kniha{
      private $name;
      public function __construct($name) {
        $this->name = $name;
      }
    
      public function __call($method, $args){
        if(isset($this->$method)){
          $func = $this->$method;
          $func($args);
        }
      }
    
      public function getName(){
        return $this->name;
      }
    }
    
    $kniha = new Kniha("Alenka v říši divů");
    echo $kniha->getName(),"
    \n"; $kniha->prnOnTheFly = function(){ echo "Alenka flying"; }; $kniha->prnOnTheFly(); echo "
    \n"; $kniha2 = new Kniha("Alenka v říši divů 1½"); $kniha2->prnOnTheFly();//nic se nestane echo "
    \n";
    Ale je to zjednodušené a může to mít nějaké vedlejší efekty viz __call.
    Nemám s tím zkušenosti, takže to nebudu ladit…
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    1.3.2013 20:31 Pavel80
    Rozbalit Rozbalit vše Re: prepisovani funci - php
    To asi budu to, co jsem chtěl. Díky.
    2.3.2013 12:47 Logik
    Rozbalit Rozbalit vše Re: prepisovani funci - php
    Hmmm, nechtěl bys sem dát konkrétní případ, co řešíš? Zdá se mi totiž, že pokud toto potřebuješ, tak máš s dost velkou pravděpodobností chybu v návrhu.

    Pokud chceš dělat takovýdle opičárny s libovolnou knihou, proč v třídě kniha rovnou neuděláš podporu pro to, co tam pak chceš za běhu "dohackovat"? Pokud to chceš dělat pouze s knihama v knihovně, proč si neuděláš potomka knihy, kde to vyřešíš elegantně?

    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.