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');
}
Komentáře:
Nový komentář:
Komentáře musí být před publikováním schváleny. Děkuji!
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ář- tento komentář inspiroval Padacek — #2
14.10. 2007, 21:03inspirová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:39autoload je IMHO offtopic :-), dnes leti funkce z rodiny spl_autoload_* :=O
odpověz na tento komentář 15.10. 2007, 18:50:) pro zacatecniky ale urcite nesmirne uzitecne..
odpověz na tento komentář 24.10. 2007, 18:32