Gå til innhold

Populere ein klasse med metoder.


Anbefalte innlegg

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
Videoannonse
Annonse
Gjest Slettet+142

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

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 av Shadows0
Lenke til kommentar

Problem løst :D

 

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 av Shadows0
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...