1<?php 2 3/** 4 * Class reperesents a single PHP function. 5 * 6 */ 7class gtFunction extends gtTestSubject { 8 9 private $functionName; 10 11 /** 12 * Set the name of the name of the function 13 * 14 * @param string $functionName 15 */ 16 public function __construct($functionName) { 17 $this->functionName = $functionName; 18 } 19 20 21 /** 22 * Get the names of function argments and initialise mandatory and optional argument arrays 23 * 24 */ 25 public function setArgumentNames() { 26 $function= new ReflectionFunction($this->functionName); 27 28 foreach ($function->getParameters() as $i => $param) { 29 if($param->isOptional()) { 30 $this->optionalArgumentNames[] = $param->getName(); 31 } else { 32 $this->mandatoryArgumentNames[] = $param->getName(); 33 } 34 } 35 } 36 37 38 /** 39 * Return the name of the function 40 * 41 * @return string 42 */ 43 public function getName() { 44 return $this->functionName; 45 } 46 47} 48?>