login  Naam:   Wachtwoord: 
Registreer je!
 Forum

ZF set_include_path (Opgelost)

Offline Realtec - 13/01/2011 11:46 (laatste wijziging 13/01/2011 11:51)
Avatar van RealtecHTML interesse Ik wil graag een website maken met Zend Framework.
Maar bij het configureren gaat het al fout.

In de tutorial op sima over ZF staat dat je de include path moet toevoegen voor de Zend lib folder en dat heb ik gedaan en dat werkt voor de site root maar in de IndexController.php werkt dat niet.

Exception:
Citaat:
Fatal error: Class 'Zend_Controller_Action' not found in /home/realtec/domains/uw-clan.nl/public_html/application/controllers/IndexController.php on line 6


Stukje code in de /index.php:
Plaatscode: 140480

Loader.php kan hij dus wel includen maar in de controller gaat het fout als hij Zend_Controller_Action wil extenden.

Zelf dacht ik dat het aan de htaccess lag m.b.t. de mod_rewrite maar die heb ik zoals beschreven staat in de sima tut.

7 antwoorden

Gesponsorde links
Offline avdg - 13/01/2011 12:40 (laatste wijziging 13/01/2011 12:48)
Avatar van avdg PHP gevorderde Het rare is dat je set_include_path waarschijnlijk wel correct is ingesteld, aangezien je al een deel van de code blijkbaar werkend heb gekregen. Je instellingen zijn waarschijnlijk correct ingesteld, al zou ik kiezen om volledige paden ipv. relatieve te gebruiken.

Dat de fout te wijten is aan htaccess lijkt mij onwaarschijnlijk bij dit specifiek probleem, de fout gaat puur over een missend bestand/class of typo.

Probeer eens de volgende 'hack' (bovenaan in je bootstrapper):

  1. require_once 'Zend_Controller_Action';
Offline Realtec - 13/01/2011 13:00
Avatar van Realtec HTML interesse Dat werkt niet maar dit werkt wel..

  1. // load the classes
  2. Zend_Loader::loadClass('Zend_Controller_Action');
  3. Zend_Loader::loadClass('Zend_Controller_Front');


Had ook wel verwacht dat dit zou werken, want dit bevestigd alleen dat het bestand library/Zend/Controller/Action.php bestaad en in de root te includen is.
En het probleem is dat op een ander folder niveau het niet te includen is.

Heb de include path ook verranderd in een volledig pad.
  1. // set include path
  2. set_include_path(dirname(__FILE__). '/library' . PATH_SEPARATOR . get_include_path());


Resulteerd in: /home/realtec/domains/uw-clan.nl/public_html/library
Offline avdg - 13/01/2011 13:05 (laatste wijziging 13/01/2011 13:29)
Avatar van avdg PHP gevorderde hmm, mijn code was foutief, dit zou moeten werken:

  1. require_once 'Zend/Controller/Action.php';


Blijkbaar heb je ook de autoloader niet geactiveerd, lees de documentatie op http://framewor...oader.html

Door volgende code toe te voegen, kan je komaf maken met de Zend_Loader::loadClass():

  1. require_once 'Zend/Loader/Autoloader.php';
  2. $autoload = Zend_Loader_Autoload::getInstance(); // Right, singleton ;-)


Bedankt door: Realtec
Offline Realtec - 13/01/2011 13:23
Avatar van Realtec HTML interesse
  1. // load the classes
  2. Zend_Loader::loadClass('Zend_Controller_Front');
  3. Zend_Loader::loadClass('Zend_Loader_Autoloader');
  4.  
  5. // set up autoloader instance
  6. $autoloader = Zend_Loader_Autoloader::getInstance();
  7. $autoloader->registerNamespace('Zend_');


Je hebt gelijk en dit heeft het ook gefixt!
You saved my life _0_

Anyway, ik denk dat ik nog heel wat documentatie moet lezen om dit een beetje te snappen.
Ben namelijk nog niet zo thuis in het OOP.
Offline avdg - 13/01/2011 13:26
Avatar van avdg PHP gevorderde kleine tip: De namespace Zend_ is al standaard geregistreerd 

Voor meer oop geweld, kan je best je zoektocht verder zetten in "design patterns" (wikipedia, google).
Offline Realtec - 13/01/2011 13:43 (laatste wijziging 13/01/2011 13:45)
Avatar van Realtec HTML interesse Klopt kon die namespace ook weglaten. is dat niet de naam van de map (/Zend) waar de zend lib in zit?

Ik wil eerst nog even wat tuts van begin tot "eind" van ZF volgen.

Wat design patterns heb ik al aardig wat gelezen over mvc en dat snap ik wel aardig.

Vaak door te doen begrijp je het beter dus beter ga ik wat documentatie lezen van ZF.
Offline DriesA - 19/02/2011 14:54 (laatste wijziging 19/02/2011 15:34)
Avatar van DriesA Lid Hoi hoi,

Bedankt voor deze tips, heeft me op weg kunnen zetten.

Mvg,
DriesA
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.239s