Avatar billede leif Seniormester
13. juli 2008 - 11:51 Der er 6 kommentarer og
1 løsning

Forskel på define og $variabel

Hej,

Jeg sidder lige og kigger, men kan ikke gennemskue hvad forskellen er på at lave:
$variabelnavn = "Test";
og
define("variabelnavn","Test");

Kan du svare på det ?

/Leif
Avatar billede coderdk Praktikant
13. juli 2008 - 12:59 #1
define's er globale, de kan nås fra funktioner osv uden at deklarere dem global - der er intet $ foran og de kan heller ikke ændres ;)
Avatar billede leif Seniormester
13. juli 2008 - 13:31 #2
Dvs. at fx. Tabelnavne bør man lave som define ?
Avatar billede coderdk Praktikant
13. juli 2008 - 13:34 #3
Hvis det er noget du kan finde på at ændre af og til, eller blot have muligheden for at ændre, er det en idé, i hvert tilfælde :)
Avatar billede leif Seniormester
13. juli 2008 - 15:49 #4
Jeg kan dog ikke helt gennemskue hvornår det er fordelagtigt at bruge den ene fremfor den anden.

Men er det korrekt forstået at hvis jeg hører dig rigtigt så kan fx define("DB_Username","leif");
define("DB_Password","xXxXxXxX");
define("DB_Database","test");


Ikke ved en fejl overskrives da den er defineret 1 gang ?

Men:
$DB_Username = "leif";
$DB_Password = "xXxXxXxX";
$DB_Database = "leif";

Sagtens kan overskrives
Avatar billede coderdk Praktikant
13. juli 2008 - 16:04 #5
Ja, define's overskrives ikke.
Jeg plejer at bruge defines i én fil, til diverse konstanter, som f.eks. database osv, så kan jeg bruge konstanten alle steder, og i funktioner uden at skulle smide den med som parameter, eller deklarere den som "global"...
Avatar billede leif Seniormester
13. juli 2008 - 16:05 #6
Jeg tror jeg er med nu.

Smid et svar.
Avatar billede coderdk Praktikant
13. juli 2008 - 16:12 #7
(c: righto!
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