Hallo,

Ik ben momenteel bezig met het opzetten van een Zend Framework. Echter loop ik ergens op vast waarbij ik in alle documentaties niks van kan terug vinden. Althans, als ik code uit de documentatie toepas blijft het probleem een bottelnek. Wellicht zoek ik verkeerd, dus linkjes word erg op prijs gesteld.

Mijn probleem: bij het opzetten van een bootstrap file moet ik de include path's zetten. Het lijkt erop dat de include (lees autoload) wel werkt voor de ZF library bestanden maar geen classes werken wanneer ik een classe maak in mijn application folder.

Momenteel roep ik de autoloader op de volgende manier aan:

$aPaths = array( get_include_path(),
				realpath(dirname(__FILE__) . '/../library'), 
				realpath(dirname(__FILE__) .'/../application')	);
				
set_include_path(implode(PATH_SEPARATOR, $paths));

require_once("Zend/Loader/Autoloader.php"); 
Zend_Loader_Autoloader::getInstance();


Wanneer ik dan een class maak om een login formulier te genereren krijg ik de welbekende foutmelding dat hij de classe niet kan laden.


Fatal error: Class 'Application_Forms_Authorization_Login' not found in C:\domains\mediaflux.nl\application\controllers\IndexController.php on line 8


Aan de hand van deze error trek ik de conclusie dat de autoloader van zend niet de juiste bestanden kan includen in mijn application folder.

Mijn indeling ziet er als volgt uit:
http://img40.imageshack.us/img40/4074/asdfhy.jpg

In de library zit al het zend gebeuren, in de applicatie folder zit al het MCV gebeuren.

Mijn Dank is erg groot mocht iemand mij kunnen vertellen hoe ik dit weer goed krijg of mij een leuk voorbeeld kan sturen mbt een goede bootstrap bestand.

Cheers.
Op regel 1 gebruik je $aPaths en op regel 5 $paths. Dit moet allebei hetzelfde zijn lijkt mij, dus allebei $paths.

Verder zou ik even checken of de include paden wel kloppen door op regel 4 even een var_dump van $paths te doen:

var_dump($paths);

Het kan zijn dat de functie realpath() niet werkt. Op php.net staat over deze functie: "The running script must have executable permissions on all directories in the hierarchy, otherwise realpath() will return FALSE."

Als je de var_dump doet kun je zien of het klopt.

Dank Ozzie. Ik heb het voor elkaar gekregen dmv de registerNamespace functie.

Die $aPath was een typo door het posten ;)

Reageren