Det som du kan prøve, og det som jeg selv ville gøre - sådan uden stører og kraftigere overvejelser - er at tildele dine includerede filer et uniked ID... Det er måske nok lidt bøvlet og snavsed code, men til det som du efterlyser, så må man ty' til utraditionelle metoder...
så...
<?PHP
// main fil
$strFilename = "somefiletoinclude.php";
$strIncludeFileMethod = "require";
try {
// Existere filen?
if(file_exists($strFilename)) {
if($boolIncludeFileMethod == "require") {
require($strFilename);
}
elseif($strIncludeFileMethod == "require_once") {
// Brug her hvis du øsnker andre måder at inkludere filer f.eks. Include eller Include_once
}
else {
// hvis andet... f.eks en fejl meddelses hvis man skriver forker... er meget rart at ha'
}
}
else {
throw exception("Invalid filename: File ".$strFilename." does not exist!");
}
}
catch($objError) {
// error handling her
}
?>
Godt, koden oven over siger sig selv håber jeg. Jeg har forsøgt - sådan lidt hurtigt, og ikke specielt planlagt - at vise hvordan du kunne gribbe dette an... Koden er ikke ment som et færdigt produkt, snare som en inspiration.
Håber at du kan finde dette brugbart.
I øvrigt, den igangværende debat i denne artikel, så er det noget være slude at filer som inkluderes i specifike scope kun er tingængelige der... i PHP ihvertfald. Scope reglen gælder kun variabler, og det er go' skik og brug at man
ikke anvender globale variabler i sin application, med mindre at der er tale om SQL connection ID'er, statiske configurationer, osv. Anbefales at hvis man ikke gider at se på en masse parametere i funktioner og OOP-Metoder, så brug arrays, i stedet for... dette gør også at man nemmere kan udbygge sine funktioner, metoder, osv.
Indlæg senest redigeret d. 09.02.2008 02:44 af Bruger #11375