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 16:11 | Komunita

    Minetest (Wikipedie), tj. multiplatformní open source voxelový herní engine a hra inspirovaná Minecraftem, se přejmenovává na Luanti.

    Ladislav Hagara | Komentářů: 0
    dnes 15:44 | IT novinky

    Minulý týden byl představen (YouTube) Rocky Linux from CIQ (RLC) aneb Rocky Linux s komerční podporou od společnosti CIQ. Cena podpory je 25 000 dolarů ročně bez ohledu na počet jader CPU, serverů nebo virtuálních počítačů.

    Ladislav Hagara | Komentářů: 0
    dnes 14:22 | IT novinky

    Byla aktualizována časová osa podpory Manifest V2 v Chrome, tj. verze API rozšíření webových prohlížečů. V průběhu týdnů budou rozšíření Chrome používající tuto verzi deaktivována a uživatelům budou doporučeny alternativy používající Manifest V3. Uživatelé Chrome si mohou pomocí "chrome://extensions/" zjistit, kterých rozšíření se to týká. Například také uBlock Origin. Podporu Manifest V2 v Chrome bude možné dočasně prodloužit nastavením ExtensionManifestV2Availability.

    Ladislav Hagara | Komentářů: 0
    dnes 12:33 | Nová verze

    Sada nástrojů Distrobox pro spouštění libovolných linuxových distribucí v terminálu pomocí kontejnerů byla vydána ve verzi 1.8.0.

    Ladislav Hagara | Komentářů: 0
    dnes 10:55 | Komunita

    Byly zpracovány a zveřejněny videozáznamy z konference LinuxDays 2024. Přistupovat k nim lze přímo z programu, kde jsou také odkazy na prezentace, nebo z YouTube.

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

    Byla vydána nová verze 1.4 svobodného multiplatformního vektorového grafického editoru Inkscape. Podrobný přehled novinek i s náhledy a animovanými gify v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 21:55 | Nová verze

    Softwarový KVM Input Leap (dříve Barrier) byl vydán ve verzi 3.0.0 (a následně pár opravných). Přidává podporu Waylandu a Qt6. Jde o první vydání od přesunu z projektu Barrier v roce 2021. Barrier vznikl jako fork Synergy, jehož verze 2 byla částečně proprietární a její bezplatná open-source verze měla umělá omezení.

    Fluttershy, yay! | Komentářů: 0
    včera 21:00 | Nová verze

    Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.

    Ladislav Hagara | Komentářů: 9
    12.10. 06:33 | Komunita

    Přímý přenos (YouTube) z konference LinuxDays 2024, jež probíhá tento víkend v Praze v prostorách Fakulty informačních technologií Českého vysokého učení v Praze (FIT ČVUT). Na programu je spousta zajímavých přednášek.

    Ladislav Hagara | Komentářů: 3
    11.10. 07:11 | IT novinky

    Elon Musk na akci We, Robot (YouTube, 𝕏) představil Robotaxi, Robovan a vylepšeného Tesla Bota (Optimus).

    Ladislav Hagara | Komentářů: 80
    Rozcestník

    Dotaz: Problém s autoloadem

    16.5.2012 20:38 Prosík
    Problém s autoloadem
    Přečteno: 530×

    Dobry vecer. Zkousim novou funkci v php ale nejak nefunguje jak by asi mela. Trida se porad naita i kdyz neexistuje. Mrkne na to prosim nekdo?

         function __autoload($class){
          
            if(class_exists($class))
               error("Class: $class Not Found!");
            else
               include_once(dirname(__FILE__).'/class/'.$class.'.php');
         }

    Odpovědi

    16.5.2012 20:55 Kit
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    A co kdybys to trochu zjednodušil?
    function __autoload($class){
       include(dirname(__FILE__).'/class/'.$class.'.php');
    }
    Funkce class_exists($class) se totiž pokouší třídu natáhnout. V autoloaderu nemá co pohledávat.
    16.5.2012 22:50 Prosík
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Pokud se snaží class_exists() třídu natáhnout tak je to špatně, máš pravdu, ale jak jinak můžu zjistit, jestli požadovaná class neexistuje a spustit nějakou chybovou funkci.. Díky
    16.5.2012 23:10 Kit
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Nejlépe nijak. Stačí zachytit chybu při neúspěšném natažení. Zjišťování existence třídy předem je zbytečné a zdržující. Autoloader musí být rychlý.
    17.5.2012 12:10 Prosík
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Na include v if jsem úplně zapoměl :-( To by se tím asi vyřešilo..

    Může mi někdo ještě objasnit tuto chybu, kterou vrací tento kód?

         class foo
         {
              public $convert;
              public function __construct()
              {
                   $this->convert = 'text';
              }
    
              public function __toString()
              {
                   return $this->convert;
              }
         }
    
         if(class_exists(foo))
         {
           echo "existuje";
         }
         else
         {
           echo "neexistuje";
         }
    
    
    Notice: Use of undefined constant foo - assumed 'foo' in /var/www/index.php on line 102 existuje
    
    Díky
    17.5.2012 12:23 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Problém s autoloadem
      if(class_exists('foo'))
    //vs
      if(class_exists(foo))
    
    …to musí být vidět i při rozumě vysvícené syntaxi :-)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    17.5.2012 12:38 Kit
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Dotaz byl zodpovězen, proto se zeptám: Proč testuješ existenci třídy před vytvořením instance? Vždyť to děsně znepřehledňuje aplikaci a je to k ničemu. Tak to vůbec nebylo navrženo. Prostě tu instanci vytvoř a hotovo. O zbytek se postará ošetření chyb, které si můžeš upravit podle potřeby.

    Když otvíráš soubor funkcí fopen(), tak také předem netestuješ, zda ten soubor existuje. Prostě ho otevřeš a pak teprve zjistíš, jestli přitom náhodou nedošlo k chybě.
    Josef Kufner avatar 17.5.2012 02:02 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Můžeš testovat, zda se povedl include. Tu chybu se však dozvíš o kousek později, protože se nepovede vytvořit instanci dané třídy.

    Pokud chceš selhat už v autoloadu, použij require namísto include.

    Pokud include neselže, ale třída i tak neexistuje (překlep v hlavičce třídy), projeví se to tak, že v logu bude chyba o neexistující třídě, ale nebude tam chyba z autoloaderu.
    Hello world ! Segmentation fault (core dumped)
    16.5.2012 22:59 Prosík
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    KITe, existuje nějaký ten __autoload nebo něco podobného i pro funkce? Díky
    16.5.2012 23:12 Kit
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Možná existuje, ale nevím o tom. Nikdy jsem to nepotřeboval a myslím si, že ani potřebovat nebudu. Objekty mi stačí.
    Josef Kufner avatar 17.5.2012 13:49 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Teoreticky bys nic takového neměl vůbec potřebovat. A pokud máš pocit, že ano, předělej to na objekty – v budoucnu budeš rád.
    Hello world ! Segmentation fault (core dumped)
    17.5.2012 18:29 Prosík
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    No nevím proč psát 4x tolik kódu navíc a ještě si tak znepřehlednit kód. Pokud budu chtít vrátit z nějaké class text Výsledný text tak to napíšu na 20řádků
         class foo
         {
              public $convert;
    
              public function __construct()
              {
                   return 'Výsledný text';
              }
    
              public function __toString()
              {
                   return $this->convert;
              }
         }
    
         echo new foo();
    Pokud budu chtít vrátit z nějaké funkce text Výsledný text tak to napíšu na řádků 5
         function foo()
         {
              return 'Výsledný text';
         }
    
         echo foo();
    Tak že nějaký autoload na funkce by se mi fakt šikl..
    17.5.2012 18:42 Kit
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Problém je v tom, že neumíš psát objektově. Uvedený příklad je velmi primitivní a spíš nahrává obyčejné funkci, ale ani objektově to není dlouhé. Kromě toho máš tu objektovou verzi špatně.
    class foo {
        public function __toString() {
            return 'Výsledný text';
        }
    }
    
    echo new foo();
    Josef Kufner avatar 17.5.2012 21:16 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Tak, tak. Jakmile pak dojde na složitější případy, tak se to bohatě vrátí, protože můžeš kód hezky rozdělit díky privátním metodám. Navíc pak není problém přidat nějaký ten rekurzivní algoritmus, aniž by se zabordelil globální jmenný prostor (můžeš použít hezké a krátké názvy metod).
    Hello world ! Segmentation fault (core dumped)
    20.5.2012 17:05 Prosík
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Co se ti na te class nelíbí? To co jsi mi opravil je možné jen u tohoto případu, když __toString() nedokáže předat žádný parametr. Navíc neexistuje způsob jak vypsat objekt bez použití __toString(). Čili __construct() musím použít vždy když chci dostat do class nějaké parametry z venku. Tak že s myslím, že jsem to měl dobře.
    Josef Kufner avatar 20.5.2012 17:10 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Neměl ;-)
    Hello world ! Segmentation fault (core dumped)
    20.5.2012 17:18 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Mě jsi to blbě, konstruktor nic nevrací viz manuál - návratová hodnota je void (a obecně je to prostě tak). A v té class je úplně zbytečný.

    když __toString() nedokáže předat žádný parametr
    To by taky nedávalo smysl, tam předávat parametry.

    Navíc neexistuje způsob jak vypsat objekt bez použití __toString()
    Jakoukoliv metodou můžeš vypsat co chceš, o vypisování objektu bych nemluvil - není jasné co tím myslíš.

    Čili __construct() musím použít vždy když chci dostat do class nějaké parametry z venku
    Ano, pokud chceš objekt inicializovat, inicializuješ jej obvykle přes konstruktor, ale už asi nebude tak běžné mít členské proměnné public.

    Tak že s myslím, že jsem to měl dobře.
    Ne, bylo to špatně :) a pravděpodobně s nepochopením objektového programování…
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    20.5.2012 17:31 Prosík
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Konstruktor sice nic nevraci ale spusti automaticky kod uvnitr class ihned po vytvoreni instance. Pokud tedy vytvorim instanci typu
    echo new foo($pdo, $val)
    a nebudu pouzivat konstruktor tak by me zajimalo jak vy ta class mela vypadat.. Díky
    20.5.2012 18:47 Prosík
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    A najednou všichni mlčí...
    20.5.2012 19:13 Kit
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Asi mají něco jiného na práci. Zkus si mezitím najít nějakou vhodnou učebnici OOP.
    20.5.2012 19:39 Prosík
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Jak se jedna o kritiku jsou tu hned a jak se jedna o objasneni mají spoustu práce :-D
    20.5.2012 19:48 Kit
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Protože jsi stále nepochopil smysl OOP. Bereš to jako brzdu, ne jako přínos. Volíš tak primitivní příklady, že nemá smysl je řešit objektově ani ve funkci. Je jasné, že v tom případě vyjde objektové řešení nejdelší.

    K tématu: Pokud chceš zpracovat vstupní parametry při vytváření objektu, tak samozřejmě musíš napsat konstruktor. Můžeš ho i zdědit.
    20.5.2012 19:54 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Za ty dvě hodiny cos měl čas to nastudovat bys už to objasnění mohl napsat sám, ne? ;) Nespoléhej na to, že ti ostatní do hlavy namlátí to, co by si tam můžeš vložit sám.
    20.5.2012 20:27 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Konstruktor sice nic nevrací
    Pokud to víš, tak proč tam píšeš: return 'Výsledný text';

    spusti automaticky kod uvnitr class ihned po vytvoreni instance
    No, hlavně by ten kód měl sloužil k inicializaci instance…

    Takže to zopakuji: „Ano, pokud chceš objekt inicializovat, inicializuješ jej obvykle přes konstruktor…“, ovšem v tvém příkladu žádná inicializace nebyla, tedy je konstruktor zbytečný.

    echo new foo($pdo, $val) není zrovna typické využít, nebo dokonce nějaká výhoda. OOP je „kapánek“ o něčem jiném.

    a nebudu pouzivat konstruktor tak by me zajimalo jak vy ta class mela vypadat
    Vypisovat ti jak se dělá třeba tovární metoda či třída, jak se používají inicializační funkce a co je vlastně class, nemá v tomto stadiu vůbec význam, pokud nezačneš sám a to od píky…
    Pokud si myslíš, že OOP ti komplikuje život, tak krom toho, že je to tím, že tomu nerozumíš, tak OOP nepoužívej.

    A najednou všichni mlčí...
    Zameť si před vlastním prahem, tvé reakce taky nejsou zrovna šup-šup…
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    20.5.2012 21:16 Prosík
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Zameť si před vlastním prahem, tvé reakce taky nejsou zrovna šup-šup…
    To nebylo myšleno nijak zle.. ;)
    20.5.2012 22:51 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Taky nekřičím…
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    21.5.2012 14:46 Prosík
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Tak snad jsem to už udělal dobře akorát nevím který zápis je lepší
    class map{
       public $pdo;
       public function __construct($pdo){
          $this->pdo = $pdo;
       }
    
       public function __toString(){
          $pdo = $this->pdo;
          $result = false;
          $result .= '<ul id="menu">';
          foreach($pdo->query('SELECT * FROM `menu` WHERE `parent` = 0') as $row){
             $result .= '<li>'.$row['name'].'</li>';
             $result .= '</ul>';
          }
    
          return $result;
       }
    }
    
    echo New map($pdo);
    
    
    nebo tento zápis
    
    class map{
       public $str;
       public function __construct($pdo){
          $result = false;
          $result .= '<ul id="menu">';
          foreach($pdo->query('SELECT * FROM `menu` WHERE `parent` = 0') as $row){
             $result .= '<li>'.$row['name'].'</li>';
             $result .= '</ul>';
             $this->str = $result;
          }
       }
    
       public function __toString(){
          return $str;
       }
    }
    
    echo New map($pdo);
    
    Děkuji za info...
    21.5.2012 17:38 Kit
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Pokud by se v DB nacházela data od uživatele, máš zaděláno na XSS. Na výstupu používej htmlspecialchars().

    Zkus udělat něco mezi. Snad přitom pochopíš, co patří do konstruktoru (vytváříš objekt třídy Map) a co do prezentující metody. Ten objekt nejspíš bude obsahovat seznam položek získaných z DB ve formě pole.

    metoda __toString() bude tato data prezentovat, na toto pole tedy aplikuješ zmíněnou funkci htmlspecialchars() a obalíš příslušnými značkami HTML. To se dá udělat jedním příkazem.

    Když to tak rozdělíš, budeš to mít ještě kratší, ale hlavně se to bude chovat jako objekt.

    Je dobrým zvykem pojmenovávat třídy s velkým písmenem na začátku. Budeš si s námi (i s učebnicemi) lépe rozumět. Naopak operátor new se obvykle píše malými.
    21.5.2012 19:44 Prosík
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Jedná se o data které jsou soucasti webu, cili k nim user nema pristup.
    Když to tak rozdělíš, budeš to mít ještě kratší, ale hlavně se to bude chovat jako objekt.
    Teto vete vubec nerozumi jak to myslis. Hodne rad bych to mel kratsi ;)
    21.5.2012 20:51 Kit
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Dobrá, menu je menu, to si vytváříš sám, tak si tam nic špatného nenastrkáš. Snad.

    Osobně bych to napsal asi takto:
    <?php
    class Map{
      private $menu;
    
      public function __construct($pdo,$parent){
        $prep=$pdo->prepare('SELECT `name` FROM `menu` WHERE `parent` = ?;');
        $prep->execute(array($parent));
        $this->menu=$prep->fetchAll(PDO::FETCH_COLUMN, 0);
      }
    
      public function __toString(){
        return '<ul id="menu"><li>'.implode("</li>\n<li>",array_map('htmlspecialchars',$this->menu))."<li></ul>\n";
      }
    }
    
    echo new Map($pdo,0);
    Všimni si, že jsem v konstruktoru vytvořil objekt a zároveň ho naplnil daty. Můžeš a nemusíš udělat další metody, které přidají nebo odeberou další položky; metody, které to po změnách uloží zpět do DB apod.

    Metoda __toString() toto pole přemění na finální HTML. Pro názornost jsem tam vložil i funkci htmlspecialchars(), ale pokud je to jen menu, tak tam být nemusí.

    Doporučuji striktně oddělovat práci s databází a generování výstupu. Vyplatí se to.

    Všimni si, že jsem doplnil parametr $parent. Tím se sice konstruktor natáhl o 2 řádky, ale stal se obecnější.

    Bude se to chovat podivně, pokud menu bude prázdné, ale nechtělo se mi vymýšlet další redukční funkci - implode() snad postačí.
    21.5.2012 20:52 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Ty já ti nevím: „je nezralé jablko nebo zelený banán čerstvější zelenina?" 2> /dev/null
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Josef Kufner avatar 22.5.2012 01:38 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Ani jedno není dobře. Největší chybou je v obou případech motání všeho dohromady. Pokud máš v jedné metodě HTML značky a select, tak to téměř jistě máš blbě uspořádané.

    Další věc je, že napojování řetězců je pomalé. Tedy, pomalejší než echo.

    A proč připojuješ řetězec k booleanu? Přečti si něco o datových typech.
    class Map
    {
       private $result;
    
       public function query($pdo)
       {
          $this->result = $pdo->query('SELECT * FROM `menu` WHERE `parent` = 0');
       }
    
       public function echo()
       {
          echo "<ul class=\"menu\">\n";
          foreach($this->result as $row) {
             echo '<li>', $row['name'], "</li>\n";
          }
          echo "</ul>\n";
       }
    
       public function __toStrig()
       {
          ob_start();
          $this->echo();
          return ob_get_clean();
       }
    }
    
    $map = new Map();
    $map->query($pdo);
    $map->echo();
    
    Protože až budeš chtít nastavit parent, před dotázáním se databáze, uděláš to takle:
    class Map
    {
       private $result;
       private $parent = 0;
    
       public function setParent($parent)
       {
          $this->parent = $parent;
       }
    
       public function query($pdo)
       {
          $q = $pdo->prepare('SELECT * FROM `menu` WHERE `parent` = :parent');
          $q->bindParam(':parent', $this->parent, PDO::PARAM_INT);
          $this->result = $q->execute();
       }
    
       public function echo()
       {
          echo "<ul class=\"menu\">\n";
          foreach($this->result as $row) {
             echo '<li>', $row['name'], "</li>\n";
          }
          echo "</ul>\n";
       }
    
       public function __toStrig()
       {
          ob_start();
          $this->echo();
          return ob_get_clean();
       }
    }
    
    $map = new Map();
    $map->setParent(3);
    $map->query($pdo);
    $map->echo();
    
    Hello world ! Segmentation fault (core dumped)
    22.5.2012 10:25 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Tak.
    Ještě odstranit to 2> /dev/null a je to hotové :-).
    Je z toho i patrné, že __toStrig() nemusí být, tak důležité…
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    22.5.2012 14:14 Kit
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    __toStrig() je jen syntaktický cukr, který mi například umožňuje vkládat identifikátory objektů přímo do Heredoc. Je to velmi pohodlné. Pochopím, pokud se to pravověrným programátorům nebude líbit, ale mně to vyhovuje.
    Josef Kufner avatar 22.5.2012 14:56 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Jestli ono by takový syntaktický cukr neměl být spíš součástí šablonovacího systému...
    Hello world ! Segmentation fault (core dumped)
    22.5.2012 21:07 Kit
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Pokud bych potřeboval data do šablonovacího systému, tak nebudu výstup dat generovat v podobě stringu, ale derivačního stromu. Tím pádem by ale byl název metody __toString() nelogický. Metoda __toString() nám stále zůstane na jednoduchý export stringu.
    Josef Kufner avatar 22.5.2012 21:50 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Problém s autoloadem
    Neměl bys tolik studovat…
    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.