[PHP] globals in een class

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Zoolander
  • Registratie: Januari 2003
  • Laatst online: 23-11-2022

Zoolander

superslim!

Topicstarter
Simpele vraag misschien, maar ik kom er niet helemaal uit:

Is het netjes om globals als $_POST, $_GET, etc. in je class te gebruiken?
Omdat ze nooit direct naar een class toe beschikbaar zijn, maar altijd via een ander php bestand dat geen class is, lijkt het alsof ik ze eerst apart moet toekennen aan de scope van een class.

Ik heb even geen idee wat netjes is. :)

mijn naam slaat nergens op, althans niet op mij :P


Acties:
  • 0 Henk 'm!

  • --MeAngry--
  • Registratie: September 2002
  • Laatst online: 19-09 16:35

--MeAngry--

aka Qonstrukt

$_POST en $_GET (oftewel $_REQUEST) variabelen moet je altijd aanspreken op deze manier. (Of je moet register_globals op aan hebben staan, wat niet aan te bevelen is.) Dus of je dat nu vanuit een klasse doet of losse code maakt niet veel uit natuurlijk. :)

[edit]
Tenzij je natuurlijk altijd vantevoren weet welke variabelen je op moet halen en welke waardes deze kunnen hebben, dan zou ik ze bij de pagina-aanroep netjes allemaal ophalen en valideren.

[ Voor 28% gewijzigd door --MeAngry-- op 06-06-2006 22:07 ]

Tesla Model Y RWD (2024)


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Zolang het duidelijk is dat daar deze vorm van input verwerkt wordt is er niks mis mee imo. Hoewel ik het vaak beperk tot een minimum, vaak heb ik 1 klasse welke die deze input regelt/beheert.

Acties:
  • 0 Henk 'm!

  • Zoolander
  • Registratie: Januari 2003
  • Laatst online: 23-11-2022

Zoolander

superslim!

Topicstarter
--MeAngry-- schreef op dinsdag 06 juni 2006 @ 22:06:
$_POST en $_GET (oftewel $_REQUEST) variabelen moet je altijd aanspreken op deze manier. (Of je moet register_globals op aan hebben staan, wat niet aan te bevelen is.) Dus of je dat nu vanuit een klasse doet of losse code maakt niet veel uit natuurlijk. :)

[edit]
Tenzij je natuurlijk altijd vantevoren weet welke variabelen je op moet halen en welke waardes deze kunnen hebben, dan zou ik ze bij de pagina-aanroep netjes allemaal ophalen en valideren.
Thanx, dat is zo. Het zijn er een handjevol die bepalen welke methodes de class moet aanroepen. Ik kan de waarden dus voorspellen en dus ook valse input eruit filteren.
Even los van het feit of ik ze wel of niet valideer, gewoon in de klasse zetten? Gaat vooral om $_GET vars in mijn script (niet dat die niet met $_REQUEST zijn uit te lezen, maar via URL ?name=value worden ze aangeboden)

mijn naam slaat nergens op, althans niet op mij :P


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Waarom zou je superglobals binnen een class willen gebruiken? Ik maak mijn klassen altijd zo generiek mogelijk. Dat betekent dat ik de class middels de constructor of andere methods waarden meegeef die dan eigenlijk uit $_GET en $_POST komen. Op die manier (parameteroverdracht) werkt je class net zo goed en is deze veel generieker.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • --MeAngry--
  • Registratie: September 2002
  • Laatst online: 19-09 16:35

--MeAngry--

aka Qonstrukt

-NMe- schreef op dinsdag 06 juni 2006 @ 22:24:
Waarom zou je superglobals binnen een class willen gebruiken? Ik maak mijn klassen altijd zo generiek mogelijk. Dat betekent dat ik de class middels de constructor of andere methods waarden meegeef die dan eigenlijk uit $_GET en $_POST komen. Op die manier (parameteroverdracht) werkt je class net zo goed en is deze veel generieker.
Meestal komt het hier wel op neer ja. :)
Stel je maakt een User klasse, dan lijkt me het me logisch dat je daar bijvoorbeeld (middels de constructor of een login-functie) een $_POST['user'] en $_POST['pass'] in duwt om even een simpel voorbeeld te nemen.
Je gaat niet alleen de login-functie aanroepen om vervolgens daarin de $_POST waardes uit te lezen natuurlijk, dan veeg je bijna het hele nut van klasses van tafel. :P

Tesla Model Y RWD (2024)


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

Zelf maak ik vaak (afhankelijk van het project) een soort "Request" object, waaruit de gegevens opgehaald en gevalideerd kunnen worden, en dan kan het wel handig zijn om in dat object rechtstreeks met die superglobals te communiceren :)

Acties:
  • 0 Henk 'm!

  • --MeAngry--
  • Registratie: September 2002
  • Laatst online: 19-09 16:35

--MeAngry--

aka Qonstrukt

Erkens schreef op dinsdag 06 juni 2006 @ 22:30:
Zelf maak ik vaak (afhankelijk van het project) een soort "Request" object, waaruit de gegevens opgehaald en gevalideerd kunnen worden, en dan kan het wel handig zijn om in dat object rechtstreeks met die superglobals te communiceren :)
Ook een idee inderdaad, daar gebruik ik tot nogtoe nog een doodnormale functie voor B) Oldskool is dat :P

Overigens maakt dit verder niet veel uit voor de TS, die wil weten wanneer die de variabelen het beste kan aanroepen, maar dat lijkt me nu wel duidelijk. :)

[ Voor 17% gewijzigd door --MeAngry-- op 06-06-2006 22:33 ]

Tesla Model Y RWD (2024)

Pagina: 1