Martin Møller Bæk wrote:
> "Per Thomsen" <pert@pert.dk> skrev i en meddelelse
> news:3ee6451c$0$15313$ba624c82@nntp03.dk.telia.net...
>
>>Jeg ville endda gå så langt som til at betragte det som en fejl, ikke at
>>lukke databasen igen - vi er bare så heldig stillet at PHP er rigtig,
>>rigtig god til at håndtere den fejl ;)
>
>
> Jeg vil absolut ikke kalde det en fejl, ikke at lukke forbindelsen igen.
> Jeg vil måske nærmere kalde den en service fra PHP's side.
Ok, der var jeg måske lidt for hurtig i vendingen. Efter et lille kik
på:
<
http://dk.php.net/manual/en/language.types.resource.php#language.types.resource.self-destruct>
kan jeg jo, se at reference-counting faktisk gør det til en service, og
ikke en fejlhåndtering (som jeg var så frimodig at kalde det). Resourcer
bliver nu frigivet at garbage collectoren - og så er mit argument jo,
ligesom faldet til jorden.
> Jeg lukker aldrig selv forbindelsen. Typisk har jeg flere database kald
> og så kan jeg enten åbne og lukke hver gang eller holde styr på,
> hvilket kald er det sidste. Det synes jeg er for besværligt, og derfor
Det syntes jeg så ikke er noget godt argument, men det er måske også
smag og behag. Jeg kunne aldrig finde på at undlade at gøre noget, fordi
det er "for besværligt" (ok, ok, _aldrig_ er måske så meget sagt, men
det er ihvertfald sjældent).
Jeg ville nok vælge at åbne en forbindelse, lave alle de kald til
databasen, der skal laves, lukke forbindelsen, og så fortsætte med at
behandle, det data jeg har hentet efterfølgende.
Det kan vel også have noget at gøre med, hvor mange mennesker der er
involveret i et projekt - for det er klart nemmere at holde rede i, hvis
man selv skriver alt koden. Men hvis man f.eks. anvender klasser,
skrevet af andre udviklere, som man måske kun kender interfacet til, kan
det være svært at vide, hvad der sker med database connections.
> vil jeg hellere lade PHP gøre det. Så jeg er da helt sikkert glad for
> at PHP er "rigtig god til at håndtere den fejl"
>
> Typisk tager det jo meget lidt tid at eksekvere noget PHP kode,
> hvorfor det reelt ikke er særlig lang tid, forbindelse er unødvendig
> åben.
Det har du jo så fuldstændig ret i, men det forsøgte jeg også at sige.
Jeg vil nu stadig blive ved med at lukke mine connections fordi at jeg
syntes det er "pænt" at gøre det - men jeg må jo indrømme at du har
fuldstændig ret i at der ikke er nødvendigt - og at det så absolut ikke
er nogen fejl, ikke at gøre det.
MVH Per Thomsen
http://www.pert.dk