Låt säga att jag har jag har en sida där jag längst upp inkluderar ex. functions1.php. Sidan kollar även om functions2.php finns och om den gör det så inkluderar den med. Nu till hela grejjen... om jag nu skriver en funktion i functions2.php som har samma namn som en i functions1.php kan man göra så att den "tar över" den första? Kunde vara kul att testa en "ny" funktion utan att sabba det som finns. När man är klar tar man bort functions2.php och allt är som vanligt. Kan man göra det på nåt smart sätt?
Njaej. Du kommer att får ett fel från parsern om du har två funktioner som heter likadant.
Om du verkligen vill lösa det så hade det ju gått om du hade arbetat med klasser...fast inte speciellt snyggt.
du wrappar de gamla funktionerna i en klass
class old_funcs {
// massa gamla funktioner
}
class functions extends old_funcs {
final function funktionsnamn_som_finns_i_gamla() {
}
}
Sen när du behöver byta tillbaka till functions1 så döper du bara den till class functions och tar bort functions2.
Inte speciellt snyggt eller optimalt....
En variant är att du lägger alla filinkluderingar i en speciell fil, include.php som övriga filer importerar. Då kan du antingen:
skapa en speciell testmapp där du speglar sitens struktur och kopierar över de filer du vill testa med nya funktioner, medan du bara ändrar i den include.php som ligger i testmappen (och som de andra filerna i testmappen alltså inkluderar.
eller så lagrar du en sessionsvariabel eller cookie med info om du vill se nya eller gamla funktioner. Beroende på vad den har för värde så väljer du vilken fil du inkluderar i include.php (functions1.php eller functions2.php). Jag använde denna metod när jag jobbade fram en ny färgläggning av min site och ville kunna testa en annan CSS för mig medan alla andra såg den vanliga.
true .. satt just & tänkte på det (eller igår egentligen) .. ganska simpelt egentligen :) ha en submit knapp, typ on/off .. spara i en cookie .. sidan kollar om min cookie finns & i så fall byta från ex. includes/common.php till dev/common.php :) bara för mig .. givetvis om det är en public site så ska det göras säkert.
Tack för alla ideer..
130 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe