Archief - PHP: Class hoofdpijn (inheritance)

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Bram

Legacy Member
Oké, nu ik met Smarty ben beginnen werken voor m'n websites, heb ik me ook eens verdiept in classes. Nu begrijp ik alles relatief goed, maar ik zit nog met problemen met inheritance...

Ik wil eigenlijk dus m'n Smarty class uitbreiden met m'n zelf geschreven class waarmee ik connectie kan maken met SQL en mails sturen en what not...

nu heb ik dus een bestand 'Modular.class.php'
PHP:
<?php
require('Smarty.class.php');
class Modular extends Smarty{
// wat public functions 
}
?>
In m'n index.php
PHP:
require(ROOT.'Modular.class.php');
$modular = new Modular();
Aangezien ik geen __construct ofzo her declare in m'n eigen geschreven class, zou dit toch moeten werken, maar als ik dit test op localhost (MAMP) dan krijg ik
Fatal error: Cannot redeclare class Modular in /Users/katiawelvaert/Sites/htdocs/modular/libs/Modular.class.php on line 28

Kan iemand me zeggen wa ik fout doe?

Bram

Legacy Member
Nu nog iets wat ik nie snap, alsek eens kijk naar Smarty_compiler.class.php, dan staat daar wederom class Smarty_compiler extends Smarty {}, maar toch wordt in index.php Smarty(); aangeroepen, en nie Smarty_compiler.

Hoe doen ze dat dan, want ik moet toch Modular() aanroepen in m'n index.php? Of zit ik daar ook fout?

edit: Oké, kalf als ik ben... Ik had lager in m'n script nog eens new Modular() staan... vandaar de error dus... Maar ik blijf dus met m'n vraag zitten ivm dat aanroepen van welke functie...

Tyfius

Legacy Member
That's what we call polymorphism.

Ik ken smarty niet echt, maar ik gok dat jij toch smarty moet aanroepen en dat smarty jouw modular gaat afhandelen.

Bram

Legacy Member
dus ik kan zowel m'n modular class als m'n smarty class aanroepen?

da's interessant :p

edit: ah nee, zo simpel ist nie. jammer. kzoek het morgen wel eens op in menne boek, nu ist wa te laat om nog deftig na te kunne denken. En goh, het werkt nu gelijk het werkt, kkan het ook zo doen.

fromalk

Legacy Member
k heb al een hele tijd geen ervaring meer gehad met smarty maar ik kan je wel aanraden de online documentatie eens te raadplegen, die heeft mij altijd uit de nood geholpen :)

Bram

Legacy Member
Tyfius zei:
That's what we call polymorphism.

Ik ken smarty niet echt, maar ik gok dat jij toch smarty moet aanroepen en dat smarty jouw modular gaat afhandelen.

Idd, ik kan Smarty aanroepen, maar dat gaat enkel lukken alsek Modular instantiate (concretiseer int nederlands blijkbaar), aangezien ik da niet doe, moet ik dus Modular aanroepen...

De online documentatie heb ik ondertss al in pdf gedownload en is idd ongelooflijk handig.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan