scoop van define
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
class F
{
function define($key, $Value, $ThrowException=true)
{
if( defined($key) )
{
if( $key == $value )
{
return true;
}
else
{
if( $ThrowException )
{
throw new exception('Wrong definition of ' . $key . '.');
}
return false;
}
}
else
{
define($key, $value);
}
}
}
F::define('TEST', 'waarde');
?>
class F
{
function define($key, $Value, $ThrowException=true)
{
if( defined($key) )
{
if( $key == $value )
{
return true;
}
else
{
if( $ThrowException )
{
throw new exception('Wrong definition of ' . $key . '.');
}
return false;
}
}
else
{
define($key, $value);
}
}
}
F::define('TEST', 'waarde');
?>
Wat is de scoop van mijn defined variabele?
Hoe los ik dit op:
ik heb de waarde verbonden aan de waarde van $key nodig. Als het een variabele zou zijn dan kon ik $$key gebruiken. Maar hoe zit dat met constanten?
mvg,
Marc
Gewijzigd op 01/01/1970 01:00:00 door Marc Cools
Gesponsorde koppelingen:
Define is een functie van php, daarom zal het niet gaan werken zoals jij het wil.
Je moet dus een andere functie naam nemen.
Je moet dus een andere functie naam nemen.
constanten, die je met define() dus maakt, hebben geen scope. Ze bestaan simpelweg overal. Althans, overal nadat je ze gedefinieerd hebt :)
Met de functie constant() kan je de waarde van een constante opvragen wanneer je z'n naam weet.
Met de functie constant() kan je de waarde van een constante opvragen wanneer je z'n naam weet.
Misschien kan je iets met get_defined_constants() daarbij krijg je ook de waarde.
Edit:
Te laat, die van Jelmer lijkt beter.
Edit:
Te laat, die van Jelmer lijkt beter.
Gewijzigd op 01/01/1970 01:00:00 door Bo az
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
class F
{
function defines($key, $value, $throw_exception=true)
{
if( defined($key) )
{
if( constant($key) == $value )
{
return true;
}
else
{
if( $throw_exception )
{
throw new exception('Wrong definition of ' . $key . '.');
}
return false;
}
}
else
{
define($key, $value);
}
}
}
F::defines('TEST', 'waarde');
?>
class F
{
function defines($key, $value, $throw_exception=true)
{
if( defined($key) )
{
if( constant($key) == $value )
{
return true;
}
else
{
if( $throw_exception )
{
throw new exception('Wrong definition of ' . $key . '.');
}
return false;
}
}
else
{
define($key, $value);
}
}
}
F::defines('TEST', 'waarde');
?>
Dit zou beter moeten zijn.
Gewijzigd op 01/01/1970 01:00:00 door Marc Cools



