1.3. Zend::loadClass()

Zend::loadClass($class, $dirs) ładuje plik PHP, a następnie sprawdza czy klasa istnieje.

<?php

Zend::loadClass('Container_Tree', array('/home/production/mylib', (/home/production/myapp')));

?>

Bo skonwertowaniu zmiennej $class na hierarchię katalogów poprzez zamianę podkreślników na separatory katalogów, uzyskana hierarchia zostanie dodana do każdej części w zmiennej $dirs Jeśli zmienna $dirs ma wartość null, spowoduje to uzyskanie tylko pojedynczej hierarchii. Na przykład, Container_Tree stanie się Container/Tree.php. Jeśli plik /home/production/mylib/Container/Tree.php istnieje, wtedy będzie on załadowany. Jeśli nie, wtedy zostanie załadowany plik /home/production/myapp/Container/Tree.php jeśli istnieje. W przeciwnym razie, plik Container/Tree.php zostanie wyszukany w katalogach ze zmiennej PHP include path.

Jeśli zmienna $dirs jest łańcuchem znaków lub tablicą, katalogi zostaną przesukane w takiej kolejności w jakiej zostały zdefiniowane, a pierwszy pasujący plik zostanie dołączony. Jeśli plik nie istnieje w katalogach podanych w zmiennej $dirs, wtedy w wyrażeniu include zostaną użyte katalogi ze zmiennej PHP include_path (np. include 'Tree.php').

Jeśli plik nie zostanie znaleziony lub klasa po załadowaniu pliku nie istnieje, zostanie wyrzucony wyjątek Zend_Exception. Metoda Zend::loadFile() jest używana do ładowania, więc nazwa klasy może jedynie zawierać znaki alfanumeryczne, myślnik ('-'), podkreślnik ('_'), oraz kropkę ('.').