Martin skrev:
> Jens Frøkjær wrote:
>> Jeg gemmer tit objekter i session, man de skal være "serializable"
>> (
http://dk.php.net/serialize), den eneste type der ikke er
>> serializable er resourcer
>> (
http://dk.php.net/manual/da/language.types.resource.php), det betyder
>> du ikke (fornuftigt) kan gemme database-forbindelse, åbne filer og den
>> slags.
>
> Ahh - ja det passer nok meget godt at det var fordi det var en resource
> man prøvede at gemme i sessionen.
>
> Men nu kan jeg selvfølgelig ikke huske det, det er flere måneder siden
> der var en længere diskussion om dette emne.
>
>> Du spørger hvad der er oplagt at bruge et objekt til, mit korte svar
>> er intet. Det lidt længere svar er en masse. Jeg bruger objekter til
>> at lave namespaces. Derudover bruger jeg det når jeg har brug for
>> nedarvning.
>
> Jeg bruger objekter til ALT - I bare mit galleri der er 5 klasser til at
> styre det hele, som alle er extended fra en "main" klasse.
>
> > Jeg ville ikke lave et brugerobjekt og lade det stå for
>> login m.m., men det ville jeg heller ikke gøre i Java. Jeg ved godt at
>> det ikke er pænt objektorienteret og alt muligt, men hvis nu man har
>> 10.000 brugere og skal lave noget på dem, så skulle man jo i
>> princippet lave 10.000 objekter og det er ikke min kop te, men det er
>> naturligvis individuelt (det fik jeg så også slag for at sige til
>> OOP-eksamen - hihi).
>
> Hvorfor have 10.000 objekter?? - Den forstår jeg godt nok ikke.
Hvis man f.eks. gerne ville have en liste med alle brugere, så er den OO
tilgang at man skal have et objekt pr. bruger. Men altså, jeg er bare
doven, og nu har jeg været med på php vognen temmelig længe, og i
virkeligheden handler det nok mere om at jeg gør som jeg plejer.
>
> Et eksempel:
>
> class Login
> {
>
> protected var $login;
> protected var $pass;
>
> function __construct() {
> $this->login = $_SESSION["user"]["login"];
> $this->pass = $_SESSION["user"]["pass"];
> }
>
> function isValid() {
> /* DB forespørgel der kontrollerer login og pass */
> if(SQL) return true;
> else return false;
> }
>
> function getUserInfo() {
> /* DB som henter ting */
> return DB;
> }
>
> $user = new Login;
> if(!$user->isValid()) // Ikke logget ind exit;
> $bruger = $user->getUserInfo();