Runar0 Skrevet 18. mai 2007 Del Skrevet 18. mai 2007 Hei, Har jobba litt med ein database klasse, planen var å legge til 'magiske' funksjonar som findBy<felt navn>() men eg har ikkje funne ut korleis eg kan legge til funksjonar mens skriptet blir kjørt. Har prøvd med $this->findById = create_function(...); noe som gav ein feilmelding, noen som veit korleis dette skal gjerast? Det er eit PHP4 script eg holder på med. Runar Lenke til kommentar
Gjest Slettet+142 Skrevet 18. mai 2007 Del Skrevet 18. mai 2007 Du kan jo evt prøve med et array. Er ikke sikker, men skal ikke variabler i klasser måtte deklareres før bruk? Det kan jo da iaf være grunnen til ast det du prøver ikke virker. Da blir det vel iaf noe slikt: var $findBy = array(); $this->findBy["id"] = create_function(...); Lenke til kommentar
Runar0 Skrevet 18. mai 2007 Forfatter Del Skrevet 18. mai 2007 (endret) Det fungerar faktisk med ein array, men ikkje med ein vanleg variable sjølv om eg førehands definerer den. Går det ikkje å bruke ein vanleg variable eller er det bare noe eg gjør feil? :/ Edit: CakePHP har støtte for slike magiske funksjonar i både PHP4 og PHP5 modus. Skal ta ein titt i kjeldekoda der. Endret 18. mai 2007 av Shadows0 Lenke til kommentar
Runar0 Skrevet 18. mai 2007 Forfatter Del Skrevet 18. mai 2007 (endret) Problem løst Til dere som har same problem: I PHP5 så har du eit par fine methoder som __call, __get, __contstruct, osv... __call plukker opp alle kall til ikkje eksisterande metodar. Ved å bruke overload() på ein klasse i PHP4 så får du tilgang til desse kjekke funksjonane og dermed kan eg plukke opp alle kalle til findBy<felt navn> og findAllBy<felt navn> Endret 18. mai 2007 av Shadows0 Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå