Archief - Q: Dubbele class problem

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.

warzone

Legacy Member
Ik heb dit stukje code:

$testclasse = new test();

$testclasse = new test();

Het script dat ik heb is uitgebreider maar het principe is hetzelfde.
Ik heb 2 maal dezelfde klasse maar telkens met andere code. Ik kan de classes niet hernoemen vanwege dat het script anders niet meer werkt.

Beide klasses zitten wel in verschillende files. Maar het probleem is dat ik de eerste klasse niet kan wissen of uit het geheugen halen.

Ik krijg dus deze fout:
Fatal error: Cannot redeclare class test


Iemand een idee hoe dit probleem op te lossen?

deadlock

Legacy Member
klasses hernoemen naar test1 en test2

dan een klasse test maken waar je afhankelijk van een aantal parameters ofwel test1 of test2 oproept

warzone

Legacy Member
deadlock zei:
klasses hernoemen naar test1 en test2

dan een klasse test maken waar je afhankelijk van een aantal parameters ofwel test1 of test2 oproept

Zoals ik zei kan ik dat niet doen. De klasses moeten dezelfde naam hebben.

Ik heb wel functies gezien die die kunnen destroyen maar die blijken toch niet perfect te werken...

DJ_Trash

Legacy Member
zult u script toch toch ewam oeten aanpassen vrezek; klassen met zelfde naam enzo is vragen om problemen en boechelen

Dece

Legacy Member
EDit: slecht gelezen. wat je wel kan doen is dit

PHP:
//bestand x.php
<?php
class test 
{
     functie x($arg);
     {
          return $arg;
     }
}
?>

<?php 
//bestand y.php
class test2 extends test
{
     functie y() 
     {
          return true;
     }
}
?>

<?php
//bestand waar je de klassen oproept
$testclasse = new test2();
$testclasse->x('werkt');
?>

dJeez

Legacy Member
Je kan geen 2 klassedefinities hebben met dezelfde naam, zo simpel is 't. Maw, wat je wil kan gewoon niet.
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