aboutsummaryrefslogtreecommitdiff
path: root/src/NXP/Classes
diff options
context:
space:
mode:
Diffstat (limited to 'src/NXP/Classes')
-rw-r--r--src/NXP/Classes/TokenFactory.php11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/NXP/Classes/TokenFactory.php b/src/NXP/Classes/TokenFactory.php
index 6956f31..4ed55af 100644
--- a/src/NXP/Classes/TokenFactory.php
+++ b/src/NXP/Classes/TokenFactory.php
@@ -50,12 +50,17 @@ class TokenFactory
/**
* Add function
- * @param string $name
+ * @param string $name
* @param callable $function
- * @param int $places
+ * @param int $places
+ * @throws \ReflectionException
*/
- public function addFunction($name, callable $function, $places = 1)
+ public function addFunction($name, callable $function, $places = null)
{
+ if ($places === null) {
+ $reflector = new \ReflectionFunction($function);
+ $places = $reflector->getNumberOfParameters();
+ }
$this->functions[$name] = [$places, $function];
}