OOP: At arve

Tags:    php

Hej udviklere,

har et problem som jeg vil prøve at beskrive således. Jeg har to klasser som kunne svare til nedenstående:

Fold kodeboks ind/udKode 


(Jeg håber at) det fremgår af ovenstående, at det jeg godt kunne tænke mig var, at have en klase-konstant i Upper som blev defineret i Lower. Idéen er så, at de metoder som er erklæret i Upper kan arbejde på denne konstant.

Hvis dette slet ikke er muligt, hvordan laver man så noget tilsvarende :)?

På forhånd mange tak for hjælpen



Indlæg senest redigeret d. 06.11.2008 15:15 af Bruger #12144
Jeg har delvist løst mit problem, eller sagt på en anden måde - skabt et nyt problem.

Fold kodeboks ind/udKode 


Dette er (næsten) løsningen på mit problem. Eneste minus er at jeg er nød til at sørge for at __construct() kaldes for at variablen bliver initialiseret. Desuden ville det i sammenhængen være pænere at det var defineret som konstanter.



Indlæg senest redigeret d. 06.11.2008 15:19 af Bruger #12144
hvorfor ikke arbejde med rigtige objekter?
Fold kodeboks ind/udKode 




hvorfor ikke arbejde med rigtige objekter?
Fold kodeboks ind/udKode 


Det gør jeg også, men det er nødvendigt at netop denne metode skal være statisk :-)

Upper hedder i virkligheden DBTableRow og repræsenterer en række i en vilkårlig tabel i en vilkårlig database. Konstanten(faktisk konstanterne) som jeg efterlyser fortæller hvilken database, tabel og et felt (primary key) som der arbejdes på.

den statiske metode hedder i virkeligheden addRow() og tilføjer en række i tabellen og returnerer id'et som rækken blev tildelt.



Indlæg senest redigeret d. 06.11.2008 16:14 af Bruger #12144
__construct vil altid blive kaldt når klassen bliver initialiseret. Ellers kunne du bruge en lidt "grim" metode, og bare sætte din variabel i magic funktionen __call()



t