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 22:22 | IT novinky Ladislav Hagara | Komentářů: 1
    včera 17:44 | IT novinky

    Společnost System76 představila pracovní stanici Thelio Mira AI s předinstalovaným Pop!_OS s prostředím COSMIC nebo Ubuntu. Nakonfigurovat lze až s 16jádrovým CPU AMD Ryzen 9 9950X, 192 GB DDR5 RAM, dvěma GPU NVIDIA RTX Pro 6000 a 192 GB GPU pamětí.

    Ladislav Hagara | Komentářů: 1
    včera 17:00 | Komunita

    DigitalOcean je sponzorem nadace Omacom Foundation stojící za linuxovou distribucí Omarchy. Přislíbená částka je 3 miliony dolarů, tj. 1 milion dolarů ročně po dobu tří let.

    Ladislav Hagara | Komentářů: 2
    8.9. 21:11 | Zajímavý software

    Na stránkách PostgreSQL bylo představeno LibreDB Studio. Jedná se o open-source self-hostované SQL IDE pro (nejenom) PostgreSQL v prohlížeči. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 3
    8.9. 16:00 | Nová verze

    Byla vydána nová verze 12.0 media serveru Jellyfin (Wikipedie). Přehled novinek v poznámkách k vydání. Pro vyzkoušení je k dispozici Demo Server. Jellyfin je fork media serveru Emby, původně Media Browser.

    Ladislav Hagara | Komentářů: 0
    8.9. 04:44 | Bezpečnostní upozornění

    V MikroTik RouterOS bylo nalezeno šest zranitelností společně pojmenovaných MikroTrick umožňujících útočníkovi, pokud má přístup k SSH, získat plnou kontrolu nad zařízením bez nutnosti autentizace. Ve verzích RouterOS 7.25beta3, 7.24.2, 7.23.4 a 6.49.21 je již opraveno.

    Ladislav Hagara | Komentářů: 8
    8.9. 04:00 | Nová verze

    Byla vydána verze 9.5 open source unixového operačního systému NetBSD (Wikipedie). Přehled novinek v poznámkách k vydání. Jedná se poslední vydání řady NetBSD 9. Doporučen je přechod na NetBSD 11 nebo NetBSD 10.

    Ladislav Hagara | Komentářů: 0
    7.9. 21:44 | IT novinky

    Akční adventura State of Mind je na portále GOG.com zdarma, akce trvá do 10. září.

    ʚĭɞ 🍉 | Komentářů: 2
    7.9. 13:22 | IT novinky

    Na Kickstarteru běží kampaň na podporu malého robotický psa Petoi Quaddle. Postaven je na ESP32-S3. V několika variantách. S řadou senzorů. Programovat lze pomocí Pythonu, C++ nebo i vizuálních bloků. Zkoušet a trénovat lze v simulátoru.

    Ladislav Hagara | Komentářů: 1
    6.9. 22:11 | Pozvánky

    Dětem začala škola a nedobrovolně se tak musí vzdělávat. Avšak pro dospělé, kteří se chtějí vzdělávat nebo naopak se o vědomosti podělit, je tu Virtuální Bastlírna - jako každý měsíc si můžete online a zdarma nezávazně popovídat o vědě a technice nejen s bastlíři, ale i s vývojáři, vědci nebo profesory. A čemu se strahováci budou věnovat? Blíží se KiCAD 11 s nespočtem novinek, z nichž zde musí zmínit alespoň možnost kótování a závislostí z

    … více »
    bkralik | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (4%)
     (21%)
     (29%)
     (7%)
     (6%)
     (2%)
     (14%)
     (21%)
    Celkem 2630 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Dotaz: Jak zavolat metodu v class (PHP)

    21.10.2013 02:35 XcX
    Jak zavolat metodu v class (PHP)
    Přečteno: 559×
    Chtěl bych se zeptat, mám class Start a uvnitř této class mám metodu mess(). Z konstruktoru class Start vytvořím instanci pro další class s názvem Akce. Jak můžu již ve třídě Akce zavolat metodu mess() v class Start? Poradíte prosím? Děkuji

    Odpovědi

    21.10.2013 08:12 Kit
    Rozbalit Rozbalit vše Re: Jak zavolat metodu v class (PHP)
    Co to má být za třídu "Start"? Neznám v reálu žádný objekt třídy start. Asi by to skutečně chtělo začít s OOP od základů.

    Nauč se v objektech pracovat pouze s atributy objektu a objekty předanými v parametrech metod. Neporušuj Démeteřin zákon.

    Můžeš objektu třídy Akce předat jako parametr $this, ale dobře si rozmysli, než si tímto způsobem zašmodrcháš program.
    21.10.2013 16:05 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Jak zavolat metodu v class (PHP)

    Jedna z možných odpovědí by mohla být:

    Start::mess();
    Odpovědí si jsem jistý, ale neznám znění otázky.

    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    23.10.2013 10:28 Prema van Smuuf
    Rozbalit Rozbalit vše Re: Jak zavolat metodu v class (PHP)

    Asi by sis měl urovnat rozdíl mezi třídou a její instancí. Je totiž rozdíl v tom, jestli mluvíš o metodách statických (což jsou metody tříd), nebo metodách těch samotných objektů (tedy metody už instancí daných tříd). Podle toho, co píšeš, bych odvodil, žes mohl myslet něco takovéhoto:

    class Start{
    
      public function __construct(){
        // Tuto instanci třídy Start uložíme třídě Akce do statické proměnné
        // To znamená, že touto jedinou instancí mohou disponovat všechny instance třídy Akce.
        Akce::setStartObject($this);       
      }
    
      public function Hello(){
        echo "Hello ";
      }
    
    }
    
    class Akce{
    
      private static $start_object = null;
      
      public static function setStartObject(Start $object){
        self::$start_object = $object;
      }
      
      public function Whatever($whatever){
        echo $whatever;
      }
    
    }
    
    // Tato jediná vytvořená instance třídy Start bude nyní dostupná
    // ve všech budoucích instancích třídy Akce
    $start_object = new Start();
    
    // Takže:
    $akce_jedna = new Akce();
    $akce_jedna->Whatever("World <br>");
    
    $akce_dva = new Akce();
    $akce_dva->Whatever("Universe <br>");
    ..a výstup by byl:
    Hello World
    Hello Universe
    Ale je dost možné, že jsi to myslel úplně jinak a pak je výše uvedené hromada kydů. Takže se zkus příště vyjádřit komplexněji :)

    Josef Kufner avatar 23.10.2013 11:26 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak zavolat metodu v class (PHP)
    Abys ji mohl zavolat, potřebuješ získat ten objekt. A protože ven z třídy je vidět blbě a dovnitř ještě hůř (což je jejich účel), musíš si instanci Start předat explicitně, třeba jako parametr konstruktoru při vyrábění instance Akce.
    Hello world ! Segmentation fault (core dumped)

    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.