Toon posts:

[php] Variabelen on the fly declareren.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Wanneer ik in de code ergens een variabele wil gebruiken dan moet ik hem eerst van te voren declareren, anders krijg ik de melding:"

Notice: Undefined variable: mode_aanpassen in d:\inetpub\wwwroot\product.php on line 8

Kan ik dit ergens in de php.ini uitschakelen?

  • The Eagle
  • Registratie: Januari 2002
  • Laatst online: 20:13

The Eagle

I wear my sunglasses at night

Ik weet niet of het in PHP kan, maar ik weet dat je in sommige talen zgn "Varianten" kunt gebruiken. DIt is een datatype dat niet van tevoren gedeclareerd hoeft te worden, maar alle datasoorten kan bevatten. Misschien kun je daar iets mee.

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)


  • whoami
  • Registratie: December 2000
  • Laatst online: 19:58
Waarom zou je dat willen doen?

Je moet eerst een variable declareren vooraleer je hem kunt gebruiken. (Althans, in echte talen moet je dat doen, en ik vermoed in PHP ook). In ASP kun je, dacht ik, dat weglaten.
Maar je moet de compiler aangeven voor welke variablen hij geheugen moet reserveren.

Eigenlijk is het bad programming practice om variablen niet te declareren (als dat mogelijk mocht zijn).

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 19:58
The_Eagle schreef op 24 september 2002 @ 09:35:
Ik weet niet of het in PHP kan, maar ik weet dat je in sommige talen zgn "Varianten" kunt gebruiken. DIt is een datatype dat niet van tevoren gedeclareerd hoeft te worden, maar alle datasoorten kan bevatten. Misschien kun je daar iets mee.


Een variant is een datatype, en een variable van het type 'variant' moet je ook eerst declareren.
Ik denk dat de TS wil zeggen dat hij variablen wil gebruiken zonder ze eerst te declareren.

https://fgheysels.github.io/


Verwijderd

Topicstarter
jep precies, gewoon on the fly gebruiken meteen.

  • whoami
  • Registratie: December 2000
  • Laatst online: 19:58
Verwijderd schreef op 24 september 2002 @ 09:43:
jep precies, gewoon on the fly gebruiken meteen.


Bekijk de documentatie eens van PHP of het mogelijk is of niet, en zoek eens op waarom dat dit een slechte programmeer-eigenschap is.

https://fgheysels.github.io/


  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 20:16
Met PHP:
$string = "value";

Met Java:
String string = new String("value");
of
String string = "value";

On the fly declareren een foute gewoonte? Nee, vind ik niet. Dat vind ik nou juist het mooiste van Java: niet terug naar je variabele declaratie gaan omdat je nog een for-loopje wilt maken.

Verwijderd

Topicstarter
precies.

  • Prutser_IA
  • Registratie: Januari 2000
  • Laatst online: 03-06-2021

Prutser_IA

<*{{{><

Waarschijnlijk heb je ergens staan
PHP:
1
error_reporting( E_ALL );

Dan laat php elke klein foutje zien..

Dus ongedeclareerde variabelen, Array indexes zonder "" en dat soort dingen
www.php.net/error_reporting

ALs je het heel netjes wilt doen, moet je ze dus declareren.. Alleen heeft php niet (zoals bv. C++) om string $test, $test2 te doen..

Ik gebruik altijd
PHP:
1
 IF (!IsSet($var1)) $var1 =null;

Maar wellicht zijn er betere manieren om variabelen te declareren zonder waarde toe te kennen..

42


  • whoami
  • Registratie: December 2000
  • Laatst online: 19:58
_JGC_ schreef op 24 september 2002 @ 09:47:
Met PHP:
$string = "value";

Met Java:
String string = new String("value");
of
String string = "value";

On the fly declareren een foute gewoonte? Nee, vind ik niet. Dat vind ik nou juist het mooiste van Java: niet terug naar je variabele declaratie gaan omdat je nog een for-loopje wilt maken.


Hier declareeer je uw variabelen toch hoor.... Ik zou het trouwens vreemd vinden dat je dat in Java zou kunnen.

Ik denk dat de TS bedoeld bv:

code:
1
i = 0;

schrijven in de code, terwijl je nergens anders i gedeclareeerd hebt. Dat je hier i voor de eerste keer gebruikt zeg maar.

https://fgheysels.github.io/


Verwijderd

Topicstarter
inderdaad. dat bedoel ik. Om het te tackelen zet ik maar boven aan de code:
if(empty($var)) $var=0; oid.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Prutser_IA schreef op 24 september 2002 @ 09:50:
Alleen heeft php niet (zoals bv. C++) om string $test, $test2 te doen..

Heeft ook geen nut, bij de declaratie 'moet' je gelijk een waarde geven omdat er anders niks te declareren valt :)
$var1 = $var2 = $var3 = 0;

kan uiteraard wel :)
Verwijderd schreef op 24 september 2002 @ 09:34:
Wanneer ik in de code ergens een variabele wil gebruiken dan moet ik hem eerst van te voren declareren, anders krijg ik de melding:"

Notice: Undefined variable: mode_aanpassen in d:\inetpub\wwwroot\product.php on line 8

Kan ik dit ergens in de php.ini uitschakelen?
Het is ook wat onhandig om een niet bestaande variabele te gebruiken, vind je niet? :P
Imho moet je niet de melding weghalen, maar de oorzaak van de melding.

Netjes if(!isset($var)) etc gebruiken. Het is tenslotte gewoon een programmeerfout als jij een variabele gebruikt die niet bestaat (alleen bij een normale taal zie je dat al bij de compilatie)
Pagina: 1