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:22 | Nová verze

    Open source softwarový stack ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán ve verzi 7.0.0. Přidána byla podpora AMD Instinct MI355X a MI350X.

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

    Byla vydána nová verze 258 správce systému a služeb systemd (GitHub).

    Ladislav Hagara | Komentářů: 5
    včera 15:11 | Nová verze

    Byla vydána Java 25 / JDK 25. Nových vlastností (JEP - JDK Enhancement Proposal) je 18. Jedná se o LTS verzi.

    Ladislav Hagara | Komentářů: 0
    včera 14:44 | Humor

    Věra Pohlová před 26 lety: „Tyhle aféry každého jenom otravují. Já bych všechny ty internety a počítače zakázala“. Jde o odpověď na anketní otázku deníku Metro vydaného 17. září 1999 na téma zneužití údajů o sporožirových účtech klientů České spořitelny.

    Ladislav Hagara | Komentářů: 4
    včera 11:33 | Zajímavý článek Ladislav Hagara | Komentářů: 0
    16.9. 21:44 | Nová verze

    Byl vydán Mozilla Firefox 143.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Nově se Firefox při ukončování anonymního režimu zeptá, zda chcete smazat stažené soubory. Dialog pro povolení přístupu ke kameře zobrazuje náhled. Obzvláště užitečné při přepínání mezi více kamerami. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 143 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    16.9. 17:22 | Nová verze

    Byla vydána betaverze Fedora Linuxu 43 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 21. října.

    Ladislav Hagara | Komentářů: 0
    16.9. 12:22 | Nová verze

    Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.2 (𝕏, Mastodon). Přehled novinek, vylepšení a nových efektů v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    16.9. 00:11 | Nová verze

    Byla vydána nová verze 4.5 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    15.9. 21:33 | Nová verze

    Byla vydána verze 3.0 (Mastodon) nástroje pro záznam a sdílení terminálových sezení asciinema (GitHub). S novou verzí formátu záznamu asciicast v3, podporou live streamingu a především kompletním přepisem z Pythonu do Rustu.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (43%)
     (57%)
     (0%)
     (7%)
     (14%)
     (7%)
     (21%)
     (7%)
     (14%)
    Celkem 14 hlasů
     Komentářů: 1, poslední včera 13:49
    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: 279×
    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.