abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:44 | Nová verze

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 140 (pdf) a HackSpace 77 (pdf).

    Ladislav Hagara | Komentářů: 0
    dnes 01:00 | Nová verze

    ESPHome, tj. open source systém umožňující nastavovat zařízení s čipy ESP (i dalšími) pomocí konfiguračních souborů a připojit je do domácí automatizace, například do Home Assistantu, byl vydán ve verzi 2024.4.0.

    Ladislav Hagara | Komentářů: 0
    včera 22:11 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 20:55 | Nová verze

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 1.1 specifikace OpenXR (Wikipedie), tj. standardu specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro AR (rozšířenou realitu) a VR (virtuální realitu). Do základu se z rozšíření dostalo XR_EXT_local_floor. Společnost Collabora implementuje novou verzi specifikace do platformy Monado, tj. open source implementace OpenXR.

    Ladislav Hagara | Komentářů: 2
    včera 17:22 | Nová verze

    Byla vydána nová verze 0.38.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 4.4 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 1
    včera 17:11 | Nová verze

    ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzích 1.3.1, 1.2.3 a 1.0.6. Ve verzi 1.3.1 je mimo jiné řešena bezpečnostní chyba CVE-2024-20380.

    Ladislav Hagara | Komentářů: 2
    včera 12:11 | IT novinky

    Digitální a informační agentura (DIA) oznámila (PDF, X a Facebook), že mobilní aplikace Portál občana je ode dneška oficiálně venku.

    Ladislav Hagara | Komentářů: 8
    včera 05:11 | Komunita

    #HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.

    Ladislav Hagara | Komentářů: 2
    17.4. 17:55 | IT novinky

    Společnost Volla Systeme stojící za telefony Volla spustila na Kickstarteru kampaň na podporu tabletu Volla Tablet s Volla OS nebo Ubuntu Touch.

    Ladislav Hagara | Komentářů: 3
    17.4. 17:44 | IT novinky

    Společnost Boston Dynamics oznámila, že humanoidní hydraulický robot HD Atlas šel do důchodu (YouTube). Nastupuje nová vylepšená elektrická varianta (YouTube).

    Ladislav Hagara | Komentářů: 1
    KDE Plasma 6
     (68%)
     (10%)
     (2%)
     (19%)
    Celkem 559 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: PHP - Nejde zapsat parametr do class

    15.10.2013 16:11 Zadejte vaše jméno
    PHP - Nejde zapsat parametr do class
    Přečteno: 260×
    Ahoj, proč mi nejde nastavit takovej parametr v class? Nejde to jelikož to nejde, nebo je zápis blbě? Pokud je blbě prosím o opravu, děkuji uctivě ;)
    define('ABS', '/home/var/7987');
    class auto {
     private $VarAudi = ABS.'/public/cat/audi';
    ...
    }

    Odpovědi

    15.10.2013 16:24 Kit
    Rozbalit Rozbalit vše Re: PHP - Nejde zapsat parametr do class
    Pro definici počáteční hodnoty atributu je možné použít pouze konstanty a jen některé výrazy. Operátor zřetězení "." nelze použít.
    15.10.2013 16:32 Zadejte vaše jméno
    Rozbalit Rozbalit vše Re: PHP - Nejde zapsat parametr do class
    Díky moc, tak že nastavit v konstruktoru, jo?

    Ty taky jednou píšeš, že je to atribut a jindy zase parametr ;-) Tak jak to je? ;-) Člověk se tu hodně naučí a lecos se dozví, ale teď jsi mi v tom udělal guláš :-D
    15.10.2013 18:01 Kit
    Rozbalit Rozbalit vše Re: PHP - Nejde zapsat parametr do class
    V konstruktoru to jde nastavit bez problémů.

    - parametr - většinou se tím myslí formální parametry metody nebo skutečné parametry, které se té metodě předávají při volání.

    - atribut - vnitřní proměnná (stav) objektu

    Občas se i spletu při psaní.

    Jen bys asi neměl používat define(), ale raději tuto konstantu předat přes parametr konstruktoru. Když to dám do kupy, představuji si to asi takto:
    class Auto {
        private $type;
        private $abs;
    
        function __construct($type, $abs) {
            $this->type = $type;
            $this->abs = $abs;
        }
    
        function getTypeStr() {
            return '/public/cat/'.$this->type;
        }
    
        function getAbsStr() {
            return '/home/var/'.$this->abs;
        }
    
        function __toString() {
            return "Auto: ".getTypeStr().", ABS: ".getAbsStr();
        }
    }
    
    $audina = new Auto('audi', '7987');
    echo $audina;
    
    Variant je však mnohem víc a netvrdím, že je tohle nejlepší řešení. Záleží na účelu.
    15.10.2013 18:12 Zadejte vaše jméno
    Rozbalit Rozbalit vše Re: PHP - Nejde zapsat parametr do class
    Díky za objasnění, ale dívám se, že metody getTypeStr() a getAbsStr() voláš z magické metody __toString(), nikde ale nevidím, že by jsi vololal tuto magickou metodu pomocí $this->__toString(); Můžeš to upřesnit? Děkuji
    15.10.2013 18:15 Kit
    Rozbalit Rozbalit vše Re: PHP - Nejde zapsat parametr do class
    Metoda __toString() se přece volá automaticky pokaždé, když s objektem zacházíš jako se stringem.
    15.10.2013 20:16 Zadejte vaše jméno
    Rozbalit Rozbalit vše Re: PHP - Nejde zapsat parametr do class
    Aha, tak že pokud jsem tě pochopil, tak pokud chci z nějaké class vracet objekty, tak volám veškeré metody z metody "__construct" a pokud je nechci vracet objekty ale string, tak volám veškeré metody z metody __toString. je to ok? Díky
    15.10.2013 20:35 Kit
    Rozbalit Rozbalit vše Re: PHP - Nejde zapsat parametr do class
    Ne. __construct() je konstruktor a __toString() je defaultní viewer objektu. Zkus si nějaké tutoriály OOP v PHP.

    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.