login  Naam:   Wachtwoord: 
Registreer je!
 Forum

fatal error: cannot redeclare class

Offline shibble - 21/07/2009 16:31
Avatar van shibbleMySQL interesse Hallo,

Ben ik blij dat ene opgelost hebben, kan ik hem niet uitvoeren als er een pagina succesvol is toegevoegd.
Als de pagina succesvol is toegevoegd voert die het volgende uit:

  1. // Het menu.xml bestand updaten.
  2. new wcustomsCMS_Menu_Build_CMSMenu($this->registry);


Maar ik krijg de volgende error:
Citaat:
Fatal error: Cannot redeclare class PagesController in /home/id1269/domains/webcustoms.nl/public_html/loonbedrijf-heeringa/application/modules/backend/controllers/PagesController.php on line 370



Me pagesController:
Plaatscode: 137198

ik heb van alles lopen zoeken op internet maar meestal over zon bestaand systeem waar ik niks wijzer uit word..

mvg,

shibbleee

10 antwoorden

Gesponsorde links
Offline Wave6 - 21/07/2009 18:09 (laatste wijziging 21/07/2009 18:11)
Avatar van Wave6 PHP beginner Nou dit lijkt me duidelijk.
Je gebruikt waarschijnlijk ergens een require_once();...
Vervang dit is door een include(); of gewoon een require();

Boven dien snap ik niet dat dit uberhaubt werkt?
Waar definieer jij je members? Doe je dit vanuit je parent?
Zoja, waar roep je je parent constructor of parent members aan dan?
Offline Ibrahim - 21/07/2009 18:55
Avatar van Ibrahim PHP expert @D_O, de fout verwijst eerder dat het bestand meer dan 1x word ingeladen/class meer dan 1x wordt gedeclareerd. require_once verhelpt juist dit probleem.
Offline shibble - 21/07/2009 19:12 (laatste wijziging 21/07/2009 19:32)
Avatar van shibble MySQL interesse Ok lekker handig...
nu snap ik er al helemaal geen bal meer van..

ik moet zowiezo $this->registry meegeven naar de class aangezien de class de config nodig heeft die in $this->registry is geset.

en D_O wat bedoel jij dan.. want het systeem werkt toch duidelijk goed op dit na...


Owjah, de class wordt 1 keer aangeroepen in de IndexController die menu class... maar PagesController staat daar toch los van?
Offline Wave6 - 22/07/2009 01:28
Avatar van Wave6 PHP beginner Als je hem extend niet
Offline shibble - 22/07/2009 01:43 (laatste wijziging 22/07/2009 03:47)
Avatar van shibble MySQL interesse Kan je me er iets meer over uitleggen ? want ik volg het even niet goed blijkbaar..

UPDATE
Ik heb wat aanpassingen gedaan ik probeer nu de Menu builder in de registry te krijgen maar dat lukt niet terwijl ik het toch goed aanroep..

Inde boostrap geplaats:
  1. if($registry->get('template')->layoutName == 'wcustomsCMS') {
  2. $menuBuilder = new wcustomsCMS_Menu_Build_CMSMenu($registry);
  3. $registry->set('CMSMenuBuilder', $menuBuilder);
  4. }


CMSMenu.php (class wcustomsCMS_Menu_Build_CMSMenu):
Plaatscode: 137201

En ik roep hem aan met:
  1. $this->registry['CMSMenuBuilder']->buildMenu();


en krijg nu de foutmelding:
Citaat:
Fatal error: Call to a member function buildMenu() on a non-object



Mvg,

shibble
Offline marten - 29/08/2009 12:05
Avatar van marten Beheerder In hoeverre is dit nog van belang?
Offline Koen - 29/08/2009 12:46
Avatar van Koen PHP expert Je kan maar één class met eenzelfde naam declareren, lees die error dan eens...
Offline shibble - 25/01/2010 14:03 (laatste wijziging 29/01/2010 01:47)
Avatar van shibble MySQL interesse Hallo allemaal,

Re-open van deze post aangezien het probleem nog steeds niet is opgelost.

ik heb nu in de bootstrap:

  1. // De content menu opbouwen.
  2. $buildMenu = new wcustomsCMS_Menu_Build_CMSMenu($registry);
  3. $registry->set('menu', $buildMenu);


dan heb ik in de pagesController:
  1. $this->registry['menu']->buildMenu();


maar ik blijf die redeclare class fout krijgen.

@koen dat snap ik -_- maar hoe kan ik het oplossen dan , ik snap niet hoe ik die error eruit kan krijgen help me dan inplaats te zeggen "lees die error" die error is duidelijk genoeg kan niet vaker de zelfde class aanmaken maar ik roep hem toch niet nog keer aan ?

PagesController.php:
http://shibble.pastebin.com/md4590e5

CMSMenu.php:
http://shibble.pastebin.com/m43384c4f

wie kan me verder helpen please!

Kan niemand me er verder mee helpen ?!

Mvg,

shibble
Offline Stijn - 29/01/2010 01:59
Avatar van Stijn PHP expert Ben je zeker dat je geen klassenaam gebruikt dat standaard in PHP gebruikt wordt? Ben je zeker dat je geen dubbele klassenamen gebruikt?
Offline Jurgo - 08/04/2010 10:15
Avatar van Jurgo PHP interesse Waar wordt deze class aangeroepen? Ligt het misschien aan de foreach functie in CMSMenu.php regel 54?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.209s