flickr galerie | Twitter @Padáček | Facebook profil | Foursquare profil | LinkedIn profil

Zápisky.info


Importy souborů v PHP5

Programuteje–li v PHP5 řádně objektově, potřebujete přehledně uspořádat zdrojové kódy. Dobrým zvykem je každou třídu umístit do shodně pojmenovaného souboru. Pak se ale uvrhnete do nutnost vyjmenovávat pro každý skript dlouhou sadu volání require_once() a to ve správném pořadí.

Ne! Nemusíte! Existuje možnost naprogramovat funkci __autoload() definující rutinu, jak načítat soubory takto uložených tříd. A volána je pouze pro třídy, které potřebujete a v pořadí, v jakém jsou třeba. Takto se pak načítají i třídy předků (definované klíčovým slovem extends), implementované rozhraní, … Jedinou nefunkčnost jsem objevil, objeví–li se název třídy ve volání $var instanceof ClassName, ale to musím ještě pořádně otestovat.

function __autoload($className) {
  require_once('/WEB-INF/classes/'.$className.'.php');
}
Vloženo 14.10. 2007 v 20:02 | PHP | Zobrazeno 3369x

Komentáře:

  1. [1] od: Techi

    Kdo v PHP5 řádně objektově programuje, bude __autoload určitě znát. Kdo používá Zend Framework, ten jde ještě dál

    To je jako když napíšeš článek o rozdílu mezi private a public metodách :P

    odpověz na tento komentář
    1. tento komentář inspiroval Padacek — #2
    14.10. 2007, 21:03
  2. [2] od: Padacek

    inspirováno Techi — #1 Řekněme, že tuhle část OO rysů PHP5 jsem doteď neznal a Zend Framework nepoužívám. A tak se mi dostavilo dejavú :-)

    odpověz na tento komentář 14.10. 2007, 21:39
  3. [3] od: optik

    autoload je IMHO offtopic :-), dnes leti funkce z rodiny spl_autoload_* :=O

    odpověz na tento komentář 15.10. 2007, 18:50
  4. [4] od: }ra!n

    :) pro zacatecniky ale urcite nesmirne uzitecne..

    odpověz na tento komentář 24.10. 2007, 18:32

Nový komentář:

V komentáře lze použít následující „tagy“:

  • [a href=http://url.com]titulek odkazu[/a] – bude převeden na odkaz
  • [abbr title=text]abbr[/abbr] – bude převeden na <abbr>.
  • [cite], [code], [em], [strong], [q], [li] — obdobně.

Komentáře musí být před publikováním schváleny. Děkuji!

Kontrola proti SPAMu

Vlož znaky zobrazené na obrázku:


Navigace

Vyhledávání

 Vyhledávání 

Povolené operátory: AND, OR a NOT

Kategorie

Nejčtenější

Poslední komentáře

  • honza: Diky autore, ani nevis jak moc jsi mi timhle clankem pomohl. Porad mi kod nefungoval, vymyslel jsem kdeco, ale reseni...
  • Milan: [2] Místo řádku: class SampleConfigKeyNotDefinedException extends Exception má zřejmě být řádek class SampleTemplatedNotFoundException extends Exception...
  • Jan-Sebastian Fabík: Zdravím, nevím, co dělám špatně, ale když jsem použil tyto skripty, hlásí mi to chybu:Fatal error: Cannot redeclare class SampleConfigKeyNotDefinedException in...
  • Max: proc ne pouzit nazev Controller (podle MVC) ale Application?nechat abstraktni tridyController Model Viewbyl by mensi zmatek pro zacatecniky, jinak pekny vzorek...
  • Ola: Napis jim na podporu znova vyser se na banan .. Jinak ocenuju ze pouzivas BLOG:CMS, kazdej debilek na nej...

Odkazy

Statistiky návštěvnosti [TOPlist]
PageRank Checking Icon
Valid XHTML 1.0 Strict

Obsah © 2004 – 2006 Josef Petrák

Grafika © 2004 Dlouhý Webdesign

Redakční systém BLOG:CMS