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í
×
dnes 05:55 | Komunita

Dries Buytaert, autor a vedoucí projektu Drupal a prezident Drupal Association, požádal soukromě před několika týdny Larryho Garfielda, jednoho z klíčových vývojářů Drupalu, aby projekt Drupal opustil. Larry Garfield minulý týden na svých stránkách napsal, že důvodem jsou jeho BDSM praktiky a rozpoutal tím bouřlivou diskusi. Na druhý den reagoval Dries Buytaert i Drupal Association. Pokračuje Larry Garfield [reddit].

Ladislav Hagara | Komentářů: 0
dnes 04:44 | Humor

Společnost SAS zveřejnila na svých stránkách studii s názvem Open Source vs Proprietary: What organisations need to know (pdf). Organizace by měly například vědět, že ideální je mix 40 % open source softwaru a 60 % proprietárního softwaru [Slashdot].

Ladislav Hagara | Komentářů: 0
včera 23:33 | Zajímavý software

Byl vydán ShellCheck ve verzi 0.4.6. Jedná se o nástroj pro statickou analýzu shellových skriptů. Shellové skripty lze analyzovat na webové stránce ShellChecku, v terminálu nebo přímo z textových editorů. Příklady kódů, na které analýza upozorňuje a doporučuje je přepsat. ShellCheck je naprogramován v programovacím jazyce Haskell. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GPLv3.

Ladislav Hagara | Komentářů: 0
včera 23:33 | Pozvánky

Czech JBoss User Group zve na setkání JBUG v Brně, které se koná ve středu 5. dubna 2017 v prostorách Fakulty informatiky Masarykovy univerzity v místnosti A318 od 18:00. Přednáší Pavol Loffay na téma Distributed Tracing and OpenTracing in Microservice Architecture.

… více »
mjedlick | Komentářů: 0
včera 11:33 | Zajímavý článek

Národní centrum kybernetické bezpečnosti (NCKB) vypracovalo (pdf) 26 podrobných bezpečnostních doporučení pro síťové správce. Tato doporučení jsou nastavena tak, aby je bylo možné aplikovat v každé instituci. Jsou rozdělena na tři základní části: bezpečnost infrastruktury, bezpečnost stanic a serverů a bezpečnost uživatelů.

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

Prezident Nadace pro svobodný software (FSF) Richard M. Stallman vyhlásil na slavnostním ceremoniálu v rámci konference LibrePlanet 2017 vítěze Free Software Awards za rok 2016. Ocenění za společenský přínos získal SecureDrop (Wikipedie). Za rozvoj svobodného softwaru byl oceněn Alexandre Oliva (Wikipedie).

Ladislav Hagara | Komentářů: 0
včera 04:44 | Nová verze

Byla vydána verze 0.7.0 debugovacího nástroje cgdb. Mezi novinky patří například zvýrazňování syntaxe jazyka Rust. Podrobnosti v poznámkách o vydání.

Neel | Komentářů: 0
25.3. 22:00 | Komunita

Portál Stack Overflow po roce opět vyzpovídal své uživatele, jedná se především o vývojáře softwaru, a zveřejnil (podcast) detailní výsledky průzkumu. Průzkumu se letos zúčastnilo více než 64 tisíc vývojářů. Jejich nejmilovanější platformou je linuxový desktop. Ten je také druhou nejpoužívanější platformou vývojářů.

Ladislav Hagara | Komentářů: 7
24.3. 11:55 | Komunita

Vývojový tým OpenSSL ve spolupráci s iniciativou Core Infrastructure konsorcia Linux Foundation spustil proces přelicencování této kryptografické knihovny ze současné licence na licenci Apache Licence v 2.0 (ASLv2). Nová licence usnadní začleňování OpenSSL do dalších svobodných a open source projektů. Všichni dosavadní vývojáři OpenSSL (Authors) obdrží v následujících dnech email s prosbou o souhlas se změnou licence.

Ladislav Hagara | Komentářů: 32
24.3. 01:11 | Komunita

Před třemi týdny Mozilla.cz představila projekt Photon, jehož cílem je návrh a implementace nového vzhledu Firefoxu. Včera zveřejnila první náhled vzhledu Photon. Práce na projektu Photon jsou rozděleny do pěti týmů, které celkem čítají 19 lidí. Zaměřují se na zlepšení prvního spuštění Firefoxu a zaujetí nových uživatelů, celkovou úpravu vzhledu, zlepšení animací, zrychlení odezvy uživatelského rozhraní a také upravení nabídek. Vývoj lze sledovat v Bugzille.

Ladislav Hagara | Komentářů: 51
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (14%)
 (2%)
 (71%)
 (3%)
 (10%)
Celkem 947 hlasů
 Komentářů: 72, poslední 1.3. 11:16
    Rozcestník

    Dotaz: Problém s autoloadem

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

    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: 67
    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: 67
    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: 67
    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: 67
    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: 67
    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: 67
    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: 67
    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.