Avatar billede phhepl Nybegynder
16. august 2005 - 15:08 Der er 4 kommentarer og
2 løsninger

God programmering i PHP?

Hej,

er det ligegyldigt at jeg går og unsetter mine variabler når jeg er færdi med at bruge dem i PHP?
Har i andre gode tips, eller hvor kan jeg læse om det?

ex.

class ny_bruger_indstillinger {
    var $antal_req_pr_side;
    var $antal_koebsfelter_ved_ny_req;
    var $fejl = array();
   
    function antal_req_pr_side($setAntalRegPrSide) {
        is_numeric($setAntalRegPrSide) ? $this->antal_req_pr_side=$setAntalRegPrSide : $this->fejl[]=$GLOBALS['SPROG']['CLASS']['NY_BRUGER_INDSTILLINGER']['REQ_SKAL_VÆRE_TAL'];
        unset($setAntalRegPrSide);
    }
Avatar billede jakoba Nybegynder
16. august 2005 - 15:28 #1
Ja og nej,

variabler unsettes automatisk
filer bliver lukket
database connections lukkes
osv.
php er god til at 'rydde op' og gør det automatisk når scriptet er kørt færdigt.

men sådan nogle rester optager plads (ressourcer) sålænge de ikke er ryddet op. Hvis scriptet er stort og kører længe kan det gå hen og blive dyrt.

simpel variabel
  $i = 5;
              fylder 10..100 bytes.  ikke værd at rydde op.
komplex variabel
  $arr = array( array( 1,2,3,4 ),
                "Gustaf Olsson",
                new PersonObject( $age, $salary )
                )
          kan potentielt fylde en mass. ofte værd at rydde op.

simpel fil
  $fp = fopen("filnanv.txt","r");
          fylder adskillige kilobytes. værd at rydde op hvis der er mange

DB connection
  $conn = mysql_connect( $server, $user, $password );
          opretter et nyt process-workspace på serveren, 2..3 megabytes
          værd at rydde op, men også værd at beholde hvis det skal bruges igen et øjeblik efter i scriptet (oprettelsen tager tid).

Mestendels handler det om at tænke sig om og gøre det der er bedst i situationen :-))

mvh JakobA
Avatar billede Slettet bruger
16. august 2005 - 15:28 #2
Hvis du regner med at bruge dine variabelnavne senere i samme klasse/funktion er det da smart at unsette dem, men i den virkelige verden gør jeg det ikke.

Snakker vi globale variabler synes jeg dog at det er klart at du bør gøre det.
Avatar billede phhepl Nybegynder
16. august 2005 - 16:48 #3
okay fornuftige svar,tak!
Avatar billede phhepl Nybegynder
24. august 2005 - 10:00 #4
smider i et svar?
Avatar billede jakoba Nybegynder
24. august 2005 - 10:37 #5
nå ja.
Avatar billede Slettet bruger
24. august 2005 - 11:18 #6
jeps :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester