In PHP I need to pass some arguments to a function by reference.
I don’t want to write 2 different methods for similar behaviour.
So i need to select behaviour by argument.
But I can’t pass null by reference.
So I created a dummy array.
So i run it either by
$temp[0]=-1;
$this->doSomething($bigIds, $temp);
or
$temp[0]=-1;
$this->doSomething($temp, $smallIds);
public function doSomething(&$bigIds, &$smallIds) {
if ($bigIds[0] != -1) {
// make some thing
}
if ($smallIds[0] != -1) {
// make some thing
}
}
Is there a better/ elegant way to do this?
I would suggest an enum but this is PHP. So this should do it for you:
Then you can do:
From outside the class you can use
YourClass::DoSomethingBigandYourClass::DoSomethingSmall