[php] (Functions) Alle vars global?

Pagina: 1
Acties:

  • R4NCOR
  • Registratie: December 2000
  • Laatst online: 17:35

R4NCOR

eigenlijk gewoon Niels

Topicstarter
Is het mogelijk alle vars in een function global te maken? Het is zo lastig om bij functies die veel global vars gebruiken elke keer elke var apart op global te zetten :+

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Op donderdag 14 februari 2002 18:08 schreef R4NCOR het volgende:
Is het mogelijk alle vars in een function global te maken? Het is zo lastig om bij functies die veel global vars gebruiken elke keer elke var apart op global te zetten :+
Over het algemeen zijn globale variabelen een teken van verkeerd ontwerp. Het kan soms wel heel erg handig zijn, dus vandaar dat dit wel kan, maar ik ben blij dat het niet zo heel gemakkelijk wordt gemaakt.
Er is voorzover ik weet ook geen manier om die global te maken. Je kan misschien $GLOBAL_VARS (preciese naam moet je ff opzoeken) global maken en dan via die array alles benaderen.

De GET, POST en SESSION variabelen zijn (geloof ik) altijd beschikbaar dus die hoef je niet expliciet global te maken.

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

globale variabelen zijn vies
maak gewoon betere functie aanroepen :)

Doet iets met Cloud (MS/IBM)


  • CyeZ
  • Registratie: September 2001
  • Laatst online: 14:15

CyeZ

Vroem vroem!!!

Global zijn toch niet per definitie vies? Als je ze maar op een gestructureerde manier gebruikt. Persoonlijk gebruik ik globals alleen als 'constante' met configuratie instellingen. Dit zijn dat allerlei variabelen die alleen 1x in het begin van m'n scripts worden gedefineerd en vervolgens op meerdere plaatsen gebruikt. (Verder schrijf ik deze variabelen compleet in hoofdletters om ze duidelijk van de rest te onderscheiden.)

Maar volgens mij is het niet mogelijk om globale variabelen te defineren die automatisch bij elke functie worden meegenomen. Dan zul je toch echt bij elke functie aan moeten geven welke van die variabelen je nodig hebt.

[18:54] <Prammenhanger> |HunterPro|eet
[18:55] <Prammenhanger> lijkt best op
[18:55] <Prammenhanger> |HunterProFeet


  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 23:47

Pelle

🚴‍♂️

Op donderdag 14 februari 2002 18:24 schreef CyeZ het volgende:
Persoonlijk gebruik ik globals alleen als 'constante' met configuratie instellingen. Dit zijn dat allerlei variabelen die alleen 1x in het begin van m'n scripts worden gedefineerd en vervolgens op meerdere plaatsen gebruikt. (Verder schrijf ik deze variabelen compleet in hoofdletters om ze duidelijk van de rest te onderscheiden.)
* Pelle * :)
http://www.php.net/define

Dat is dus precies waar ze define voor hebben uitgevonden.

  • R4NCOR
  • Registratie: December 2000
  • Laatst online: 17:35

R4NCOR

eigenlijk gewoon Niels

Topicstarter
Op donderdag 14 februari 2002 18:24 schreef CyeZ het volgende:
...

Maar volgens mij is het niet mogelijk om globale variabelen te defineren die automatisch bij elke functie worden meegenomen. Dan zul je toch echt bij elke functie aan moeten geven welke van die variabelen je nodig hebt.
Dat is ook niet wat ik bedoel.. Ik heb 1 functie die veel variabelen gebruikt. Bij die wil ik gewoon aangeven dat elke variabale in die funtie een globale variabele is :) Niet stuk voor stuk toewijzen.

  • CyeZ
  • Registratie: September 2001
  • Laatst online: 14:15

CyeZ

Vroem vroem!!!

Op donderdag 14 februari 2002 18:54 schreef Pelle het volgende:

[..]

* CyeZ * :)
http://www.php.net/define

Dat is dus precies waar ze define voor hebben uitgevonden.
Hmm ja, klopt. Maar ik heb nog niet kunnen vinden hoe ik dat met arrays kan gebruiken. Vandaar dat die define() niet altijd even nuttig is in gebruik. Dus kies ik ervoor om dat ding niet te gebruiken zodat m'n code consistent is.

[18:54] <Prammenhanger> |HunterPro|eet
[18:55] <Prammenhanger> lijkt best op
[18:55] <Prammenhanger> |HunterProFeet


  • CyeZ
  • Registratie: September 2001
  • Laatst online: 14:15

CyeZ

Vroem vroem!!!

Op donderdag 14 februari 2002 19:35 schreef R4NCOR het volgende:

[..]

Dat is ook niet wat ik bedoel.. Ik heb 1 functie die veel variabelen gebruikt. Bij die wil ik gewoon aangeven dat elke variabale in die funtie een globale variabele is :) Niet stuk voor stuk toewijzen.
Wat je kunnen doen, is gebruik maken van de $GLOBALS[] arrays in PHP.

zoiets bijvoorbeeld:
code:
1
2
3
4
function Sum()
{
    $GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];
}

Verder is er volgens mij geen makkelijke manier om te zorgen dat je al je variabelen die je in 1 functie gebruikt automatisch global worden.

[18:54] <Prammenhanger> |HunterPro|eet
[18:55] <Prammenhanger> lijkt best op
[18:55] <Prammenhanger> |HunterProFeet


  • Grum
  • Registratie: Juni 2001
  • Niet online
het enige wat in mijn ogen legaal is om te globallen in php <4.1.x is $PHP_SELF de rest gewoon meegeven met functies of in objecten opslaan
Pagina: 1