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í
×
    včera 16:44 | Nová verze

    ESP-IDF (Espressif IoT Development Framework), tj. oficiální vývojový framework pro vývoj aplikací na mikrokontrolérech řady ESP32, byl vydán v nové verzi 6.0. Detaily na portálu pro vývojáře.

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

    DeepMind (Alphabet) představila novou verzi svého multimodálního modelu, Gemma 4. Modely jsou volně k dispozici (Ollama, Hugging Face a další) ve velikostech 5-31 miliard parametrů, s kontextovým oknem 128k až 256k a v dense i MoE variantách. Modely zvládají text, obrázky a u menších verzí i audio. Modely jsou optimalizované pro běh na desktopových GPU i mobilních zařízeních, váhy všech těchto modelů jsou uvolněny pod licencí Apache 2.0. Návod na spuštění je už i na Unsloth.

    NUKE GAZA! 🎆 | Komentářů: 1
    včera 03:55 | Nová verze

    Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 3. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).

    Ladislav Hagara | Komentářů: 0
    2.4. 19:55 | Zajímavý projekt

    Průkopnická firma FingerWorks kolem roku 2000 vyvinula vícedotykové trackpady s gesty a klávesnice jako TouchStream LP. V roce 2005 ji koupil Apple, výrobu těchto produktů ukončil a dotykové technologie využil při vývoji iPhone. Multiplatformní projekt Apple Magic TouchstreamLP nyní implementuje funkcionalitu TouchStream LP na současném Apple Magic Trackpad, resp. jejich dvojici. Diskuze k vydání probíhá na Redditu.

    |🇵🇸 | Komentářů: 0
    2.4. 18:22 | Nová verze

    Byla vydána nová verze 10.3 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu bezpečnostních oprav, vylepšení funkcí a oprav chyb.

    Ladislav Hagara | Komentářů: 0
    2.4. 15:11 | Zajímavý software

    Cloudflare představil open source redakční systém EmDash. Jedná se o moderní náhradu WordPressu, která řeší bezpečnost pluginů. Administrátorské rozhraní lze vyzkoušet na EmDash Playground.

    Ladislav Hagara | Komentářů: 4
    2.4. 14:00 | Komunita

    Bratislava OpenCamp 2026 zverejnil program a spustil registráciu. Štvrtý ročník komunitnej konferencie o otvorených technológiách prinesie 19 prednášok na rôzne technologické témy. Konferencia sa uskutoční v sobotu 25. apríla 2026 v priestoroch FIIT STU v Bratislave.

    Ladislav Hagara | Komentářů: 1
    2.4. 13:44 | Humor

    Na iVysílání lze zhlédnout všechny díly kultovního sci-fi seriálu Červený trpaslík.

    Ladislav Hagara | Komentářů: 5
    2.4. 04:44 | IT novinky

    Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl v březnu 5,33 % (Windows -4,28 %, OSX +1,19 %, Linux +3,10 %). Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 24,48 %. Procesor AMD používá 67,48 % hráčů na Linuxu.

    Ladislav Hagara | Komentářů: 4
    1.4. 23:22 | IT novinky

    Společnost Apple slaví padesáté narozeniny. Založena byla 1. dubna 1976.

    Ladislav Hagara | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (15%)
     (7%)
     (1%)
     (12%)
     (30%)
     (3%)
     (5%)
     (1%)
     (14%)
     (23%)
    Celkem 1214 hlasů
     Komentářů: 30, poslední včera 20:20
    Rozcestník

    Dotaz: prepisovani funci - php

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

    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.