[PHP] Vaste variabelen die je altijd kunt gebruiken?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoi,

Ondertussen weer bezig met een PHP applicatie en heb ik na het doorzoeken van het Tweakers forum en de PHP handleiding toch nog niet gevonden wat ik zoek.
Misschien is het er wel niet :)

Ik wil graag in mijn scripts de directories waar bestanden staan en de links variabel hebben.
Dus:
code:
1
2
$bo_tp_dir = "d:\\webdev\\mysite\\back\\templates\\".$_SESSION['bo_tp_lang'];
$bo_tp_href = "/mysite/back/templates/".$_SESSION['bo_tp_lang'];


Deze variabelen wil ik op elke pagina beschikbaar hebben van mijn script.
Op deze manier kan ik het geheel op een andere machine installeren, een keer de variabelen aanpassen aan dat systeem en het werkt weer.

Nu heb ik geprobeerd om deze als constanten te definieren zoals :
code:
1
$result = define("bo_tp_dir",   "d:\\webdev\\mysite\\back\\templates\\".$_SESSION['bo_tp_lang'], true );

Probleem is echter dat die constante wel geldig is voor het hele script waarin deze gemaakt is.
Wanneer ik echter door een link of post naar een volgend script ga is de variabele weer weg.

Ook kan ik die natuurlijk in de sessie zetten maar dan krijg je (ik heb wat meer dan 2 variabelen) veel te veel sessie data lijkt me.

In $GLOBALS kun je schijnbaar ook niks zetten.

Is er nog een manier waarop ik deze variabele kan bewaren en gebruiken in al mijn scripts?

Anders blijft er niks anders over dan overal dezelfde PHP file te includen met steeds die settings erin.

[ Voor 8% gewijzigd door Verwijderd op 05-03-2003 20:45 . Reden: typo ]


Acties:
  • 0 Henk 'm!

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 12-09 01:23
Verwijderd schreef op 05 maart 2003 @ 20:32:
Anders blijft er niks anders over dan overal dezelfde PHP file te includen met steeds die settings erin.
Denk het niet. Variabelen gelden alleen zolang het script draait en worden daarna weer vernietigd. Dus een include van een file waar alleen $varnaam = "variabele"; instaat is (helaas) wel nodig.

Op zich ook wel logisch natuurlijk dat je een file moet includen. Je verandert anders de werking van PHP zelf. Java en C++ moet je ook instancies van classes gebruiken, of header files, etc.

[ Voor 21% gewijzigd door Postman op 05-03-2003 20:37 ]


Acties:
  • 0 Henk 'm!

Verwijderd

sessions? Variabelen die een tijdje blijven bestaan

Acties:
  • 0 Henk 'm!

  • johnny7
  • Registratie: November 2000
  • Laatst online: 07-11-2023
Wat is er zo erg aan het feit dat je een bestand moet includen?

Acties:
  • 0 Henk 'm!

  • pjonk
  • Registratie: November 2000
  • Laatst online: 16-09 20:14
Als ik het goed begrijp wil je dus eigenlijk een soort eigen Superglobals gebruiken?
De optie om de globals als constanten in een include file te gebruik en die file door elk script te laten includen gebruik ik zelf ook en ik zie niet echt wat daar het probleem van is.

Sessie variabelen of deze variabelen doorgeven via GET lijkt me geen goed plan aangezien je hier server specifieke variabelen in opslaat waar de bezoeker niks van af hoeft te weten.

It’s nice to be important but it’s more important to be nice


Acties:
  • 0 Henk 'm!

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 12-09 01:23
JonkieXL schreef op 05 maart 2003 @ 20:38:
Sessie variabelen of deze variabelen doorgeven via GET lijkt me geen goed plan aangezien je hier server specifieke variabelen in opslaat waar de bezoeker niks van af hoeft te weten.
Sessies zijn ook server-side, maar zijn gewoon een te omslachtige oplossing voor jouw probleem.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Daar was ik al bang voor.
Dan zet ik in de sessie een dir. die aangeeft waar de file gevonden kan worden die de rest van de variabelen zet.

Het is ook geen probleem om deze file steeds te includen maar als het niet nodig zou zijn omdat er een andere oplossing is.......

Ik wil mijn sessie namelijk niet vervuilen met een hoop variabelen.

[ Voor 24% gewijzigd door Verwijderd op 05-03-2003 20:43 ]


Acties:
  • 0 Henk 'm!

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 12-09 01:23
Verwijderd schreef op 05 March 2003 @ 20:41:
Ik wil mijn sessie namelijk niet vervuilen met een hoop variabelen.
Sterker nog: je moet geen variabelen in sessies stoppen. Dit is gewoon weg te omslachtig (ook omdat sessies vergaan, en je dus alleen al constant een nieuwe sessie zult moeten maken). Ook is het lastiger om een sessie aan te passen dan een simpel tekst bestand ;)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Je zult er toch iets in moeten stoppen.
Heb er onder andere in staan of de gebruiker ingelogd is of niet (anonymous = 0 of 1) en zijn ID wanneer deze is ingelogd.
Ik zou niet weten waar je dat anders moet laten.
Als deze sessie verlopen is dan zul je opnieuw moeten inloggen.
Maar zolang je bezig bent verloopt deze niet.

Acties:
  • 0 Henk 'm!

  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

Ik denk dat je het het beste gewoon met een include kan doen... Er moet tóch in elke file een standaardwaarde staan, als je het met sessions zou doen, voor als iemand niet op de frontpage komt waar die sessie gevuld wordt met de juiste vars. Nou, ipv van een standaardwaarde geven, kan je gewoon een bestand includen.

Als het per user apart moet, zou je de instellingen in een tekstbestandje kunnen opslaan, of in een database, en dan met een userid werken...

Acties:
  • 0 Henk 'm!

  • Postman
  • Registratie: Februari 2000
  • Laatst online: 12-09 01:23
Verwijderd schreef op 05 March 2003 @ 20:52:
Je zult er toch iets in moeten stoppen.
Heb er onder andere in staan of de gebruiker ingelogd is of niet (anonymous = 0 of 1) en zijn ID wanneer deze is ingelogd.
Ik zou niet weten waar je dat anders moet laten.
Als deze sessie verlopen is dan zul je opnieuw moeten inloggen.
Maar zolang je bezig bent verloopt deze niet.
Ik bedoel eigenlijk dat je die variabelen die jij wilt includen (die dir-vars in TS) niet in de sessie horen. Als je dat doet zullen ze elke keer verlopen zodra je sessie niet meer bestaat. Niet echt makkelijk aanpasbaar.
Pagina: 1