login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Zend Classes not found (Opgelost)

Offline DriesA - 19/02/2011 17:20 (laatste wijziging 19/02/2011 17:25)
Avatar van DriesALid Hey,

Ik probeer al een tijdje mijn weg te vinden in het Zend framework en denk nu redelijk op weg te zijn naar een goede start.
Enkel, wanneer ik eender welk voorbeeld probeer te volgen krijg ik steeds dat de classes niet gevoden kunnen worden (bv. Zend_Auth not found).

Hieronder een voorbeeld van mijn 'bootstrap' file, kan iemand zeggen wat hier nog ontbreekt?

Alvast bedankt.

Plaatscode: 140696

Ook nog een voorbeeld van mijn indexController:
Plaatscode: 140697

12 antwoorden

Gesponsorde links
Offline Ibrahim - 19/02/2011 17:27
Avatar van Ibrahim PHP expert Ik dacht dat Zend Framework een nieuwe aanpak betreffende de bootstrap had. Dat je enkel een class hoefde te maken die extend van hun eigen bootstrap. Ik zou de referentie nog eens vanaf het begin lezen.
Offline lemoinet - 19/02/2011 18:46
Avatar van lemoinet PHP gevorderde je moet autoloading opzetten

  1. Zend_Loader::registerAutoload();
Offline DriesA - 20/02/2011 13:56
Avatar van DriesA Lid Hoi,

Bedankt voor het antwoord.
Ik heb gebrobeerd om Autoloader toe te voegen in de bootstrap, net voor ik de andere klassen probeer te laden, maar dan krijg ik een melden dat Zend_loader::registerAutoload niet meer aangeraden wordt om te gebruiken, en dat ik Zend_Loader_Autoloader moet gebruiken.
Als ik dat dan probeer te doen, krijg ik nog steeds de foutmelding:

Fatal error: Class 'Zend_Auth' not found in C:\xampplite\htdocs\abes\application\controllers\IndexController.php on line 36

Enig idee?
Offline avdg - 21/02/2011 03:49 (laatste wijziging 21/02/2011 20:32)
Avatar van avdg PHP gevorderde Volgende code moet volstaan

  1. require_once 'Zend/Loader/Autoloader.php';
  2. $autoload = Zend_Loader_Autoloader::getInstance();


De pakketten Zend en ZendX worden hiermee automatisch geregistreerd, documentatie staat op http://framewor...oader.html
Offline DriesA - 21/02/2011 18:50
Avatar van DriesA Lid Hoi,

Heb dit toegevoegd, nu ziet mijn bootstrap er als volgt uit:
Plaatscode: 140702

Gevolg is dat ik nu de foutmelding krijg
"Fatal error: Class 'Zend_Loader_Autoload' not found in C:\xampplite\htdocs\abes\index.php on line 13"

Enig idee?
Offline MiST - 21/02/2011 19:18
Avatar van MiST Lid Welke ZF versie gebruik je? Heb je ook al naar de 1.8 methode voor bootstraps gekeken? en Zend_Tool?
Offline DriesA - 21/02/2011 19:27
Avatar van DriesA Lid Hey,

Ik gebruik versie 1.11.3 (van zip-file ZendFramework-1.11.3-minimal.zip).
Heb nog niet naar andere bootstraps gekeken, was vertrokken van de tutorial hier van 'Stijn' en op basis daarvan mijn problemen momenteel vastgesteld.
Eveneens dus voor Zend_Tool, aangezien dit niet echt in de tutorial voorkomt, nog niet echt naar gekeken.

Kan er iemand een link geven van een goede tutorial voor bootstraps en/of zend_tool?

Alvast bedankt voor alle hulp!
Offline MiST - 21/02/2011 19:42
Avatar van MiST Lid Tutorial van Stijn is outdated denk ik.

Als je ZF1.11.x gebruikt kan het veeel makkelijker. (zie tutorial op http://www.akrabat.com)

Gewoon Zend_Tool gebruiken om je Bootstraps te genereren

zf create project <projectnaam> en off you go ;)

Bedankt door: DriesA
Offline avdg - 21/02/2011 20:33 (laatste wijziging 21/02/2011 20:47)
Avatar van avdg PHP gevorderde Er stond blijkbaar een typo te blinken in mijn vorige post, die is nu gefixt 

Voor de duidelijkheid: Zend_Loader_Autoload moest Zend_Loader_Autoloader zijn natuurlijk

Edit: Ik kan alleen maar bevestigen dat de tutorial op http://akrabat.com/zend-framework-tutorial/ je goed op weg zal helpen. Daarnaast is een redelijk goede kennis van design/architectural patterns nodig om zf onder de knie te krijgen.

Misschien het belangrijkste om te zeggen is dat zf modulair is, en dat zf uit componenten bestaat. Met deze keuze kan je gewoon een willekeurig aantal componenten kiezen en alleen diegene die je nodig hebt.

Jammergenoeg geven vele tutorials hier vaak geen goed beeld over, mede omdat je een project maakt dat volledig bestaat uit zf zelf.
Offline DriesA - 21/02/2011 21:39
Avatar van DriesA Lid Hey allemaal,

Bedankt voor de links, helpen me weer iets verder.
En ik vermoed dat ik er bijna ben 

Heb via zend_tool een nieuw project kunnen aanmaken en heb nu in mijn htdocs van xampp de structuur gemaakt door de zf-tool staan.
Het enige dat ik me nu nog afvraag is het volgende:
1) indien ik gewoon naar http://localhost/myproject ga, krijg ik een 'index of' te zien met de verschillende mappen en wordt ik niet doorverwezen naar /public/index.php, is dit normaal? En indien zo, hoe kan ik dat oplossen? Want als ik in de root een index.php aanmaak, krijg ik het volgende:

Warning: require_once(Zend/Application.php) [function.require-once]: failed to open stream: No such file or directory in C:\xampplite\htdocs\abes\index.php on line 17

Fatal error: require_once() [function.require]: Failed opening required 'Zend/Application.php' (include_path=';.;C:\xampplite\php\PEAR') in C:\xampplite\htdocs\abes\index.php on line 17

2) Kan ik de cofiguratie voor mijn databaseconnectie mee in de application.ini van /application/configs plaatsen?
Offline avdg - 21/02/2011 23:11 (laatste wijziging 21/02/2011 23:11)
Avatar van avdg PHP gevorderde 1a) Je krijgt de 'index of' te zien omdat de content in de map public zit. De bedoeling van zf is alles mooi in een (op eerste zicht complexe) mappenstructuur te krijgen. Enkel de map public zou eigenlijk in de webmap moeten bevinden. Op locale servers kan dit natuurlijk geen kwaad 

1b) Misschien omdat zf niet in je include path zit, zet de volgende code bovenaan je index.php:

  1. set_include_path(implode(DIRECTORY_SEPARATOR, array(
  2. /* volledige locatie van zf, */
  3. )));


Maar zonder code en locatie van je mappen ben ik niet 100% zeker.

2) Normaal gezien wel, maar misschien dat je beter ben met een quickstart (zie het derde voorbeeld op http://framewor...model.html), ofwel de handleiding voor Zend_Db ofwel documentatie over resources in Zend_application (als je een eigen databasecontroller wil).

Zorg wel dat je de controllers eerst werkend krijg voordat je begin met databases 
Bedankt door: DriesA
Offline DriesA - 22/02/2011 12:01 (laatste wijziging 25/02/2011 14:51)
Avatar van DriesA Lid Hoi,

Bedank! Voor het tweede puntje heb ik dan een referentie wanneer ik zover moest geraken.

In verband met puntje 1, aangezien dit niet meer echt tot dit topic hoort, open ik wel even een nieuw accuraat topic.

Toch bedankt!
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.35s