Hallo,
In PHP deed ik tot voor kort het volgende:
class foo {
function foo($bar=NULL) { ... }
}
$bla = new foo();
$bla = new foo(&$blabla);
Ik wilde hiermee de parameter $bar optioneel houden (=NULL) en als de
parameter gebruikt wordt dat deze dan by reference wordt doorgeven.
In nieuwere een PHP versie (4.3.8) geeft dit echter de melding:
Warning: Call-time pass-by-reference has been deprecated -
argument passed by value; If you would like to pass it by
reference, modify the declaration of [runtime function name]().
If you would like to enable call-time pass-by-reference, you
can set allow_call_time_pass_reference to true in your INI file.
However, future versions may not support this any longer.
Aangezien "by value" niet het gewenste effect heeft doe ik de volgende
pogingen:
==========
Poging 1:
class foo {
function foo(&$bar=NULL) { ... }
}
$bla = new foo();
$bla = new foo($blabla);
Foutmelding:
Parse error: parse error, unexpected '=', expecting ')'
==========
Poging 2:
class foo {
function foo(&$bar) { ... }
}
$bla = new foo();
$bla = new foo($blabla);
Foutmelding:
Warning: Missing argument 1 for foo()
==========
Poging 3
class foo {
function foo() { ... }
function foo(&$bar) { ... }
}
$bla = new foo();
$bla = new foo($blabla);
Foutmelding:
Fatal error: Cannot redeclare foo()
==========
Op welke nette manier kan ik wel bereiken wat ik wil ?
--
Niels.
Drs. ir. Niels Basjes - http://niels.basjes.nl/ - VCV 20000302
mailto:`echo 'Niels Basjes'|awk '{print$1"@"$2".nl"}'`
Hacker: One who enjoys the intellectual challenge of
creatively overcoming or circumventing limitations.

Likes:
![[PHP] Optionele parameter by reference](https://www.webhostingtalk.nl/images/WHT_rd/misc/dT.png)
Quote