Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 3. diel - Atribúty a magické metódy v PHP

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Amomym
Člen
Avatar
Amomym:2.8.2013 18:25

Už se těším na pokračování :D, tento seriál tutoriálů je fakt perfektní :D

Avatar
Kit
Tvůrce
Avatar
Kit:2.8.2013 18:42

Destruktor v PHP slouží úplně k jinému účelu než v Javě nebo C# a dokonce na rozdíl od nich funguje. Zkus si spustit tenhle kód:

<?php
class Destr{
    function __construct($jmeno) {
        $this->jmeno = $jmeno;
        echo "Vytvářím objekt $this->jmeno\n";
    }

    function __destruct() {
        echo "Mažu objekt $this->jmeno\n";
    }

}

$obj = new Destr("Adam");
$obj = new Destr("Eva");
$obj = new Destr("Jana");
$obj = new Destr("Ivana");

Tohle je důvod, proč PHP nepotřebuje "finally".

Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Petr Nymsa
Tvůrce
Avatar
Petr Nymsa:2.8.2013 18:49

Pěkný článek :) Jen by mě zajímalo, kde přišli k názvu Magické metody :D

Odpovedať
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Kit
Tvůrce
Avatar
Odpovedá na Petr Nymsa
Kit:2.8.2013 19:00

To je oficiální označení
http://php.net/…p5.magic.php
a některé jsou hodně užitečné, například v šablonách

Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Tvůrce
Avatar
Kit:2.8.2013 19:13

A ještě něco: Metoda __destruct() vůbec neříká nic o tom, že byl objekt odstraněn z paměti. Pouze se stane nedostupný. Fyzicky ho odstraní až GC, ale často skript skončí dřív, než se GC dostane ke slovu. Destruktory se však provedou vždy.

Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Neaktivní uživatel:2.8.2013 19:29

Velice kvalitní návod, jen bych ještě dodal self:: vedle $this.

Odpovedať
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Odpovedá na Neaktivní uživatel
Kit:2.8.2013 19:34

self:: se většinou nepoužívá. Rozumní programátoři se mu vyhýbají.

Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovedá na Kit
Neaktivní uživatel:2.8.2013 19:58

Na to radši odpovídat nebudu, jinak se to zase zvrtne v boj o statiku.

Odpovedať
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Odpovedá na Neaktivní uživatel
Kit:2.8.2013 20:04

Snad tě potěší, že v PHP 5.3 přibyla magická metoda __callStatic().

Odpovedať
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovedá na Kit
Neaktivní uživatel:2.8.2013 20:19

Moc výhod sice nevidím, ale uvítám každou novou možnost. Hlavně by se spíš měli zbavit funkcí typu mysql_, str_ a hlavně těch hrozně pojmenovaných funkcí a vytvořit na ně třídy, String::toLower().

Odpovedať
Neaktivní uživatelský účet
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 85.