26. januar 2010 - 08:52Der er
4 kommentarer og 1 løsning
Udskiftning af standard-funktion i PHP
Jeg vil gerne "udskifte" koden i en PHP standard-funktion med noget andet.
Årsagen er følgende: Et større mængde samlet kode bruger to funktioner: ereg() og eregi(). De udgår i PHP 5.3, og når man forsøger at bruge dem får man en 'fatal error'. Da de to funktioner nemt kan erstattes med næsten (men ikke helt tilsvarende kald til preg_match() er det let at skrive nye ereg() og eregi() funtioner selv.
Ideen var så at bruge de nyskrevne funtioner, og i stedet for at skulle modificere den eksiserende kode, så skulle jeg bare inkludere 2 nye funktioner. Så vidt så godt.
Men kan man det? Omdefinere en funktion. Hvis jeg bare inkluderer dem, får jeg at vide, at jeg ikke kan omdefinere funtioner (godt nok ikke i 5.3, for det har jeg ikke mulighed for at teste endnu).
PHP manualen har override_function() og redefine_function() som en del af APD (ZEND debuger extension), men de er ikke tilgængelige for mig.
Tak for hurtige men nedslående svar. Så behøver jeg ikke tænke mere over det. Løsningen bliver nok at omdøbe alle kald til de to funktioner til noget andet.
@phliplip: Det hjælper ikke at undertrykke fejlen - kaldene har en funktion. Det, du foreslår, fjerner den ikke.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.