summaryrefslogtreecommitdiff
path: root/scripts/dev/generate-phpt/src/gtFunction.php
blob: b2752ad637bdbcad3743aabb7bc6ba6468f1cf27 (plain)
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php

/**
 * Class reperesents a single PHP function.
 *
 */
class gtFunction extends gtTestSubject {

  private $functionName;

  /**
   * Set the name of the name of the function
   *
   * @param string $functionName
   */
  public function __construct($functionName)  {
    $this->functionName = $functionName;
  }


  /**
   * Get the names of function arguments and initialise mandatory and optional argument arrays
   *
   */
  public function setArgumentNames() {
    $function= new ReflectionFunction($this->functionName);

    foreach ($function->getParameters() as $i => $param) {
      if($param->isOptional()) {
        $this->optionalArgumentNames[] = $param->getName();
      } else {
        $this->mandatoryArgumentNames[] = $param->getName();
      }
    }
  }


  /**
   * Return the name of the function
   *
   * @return string
   */
  public function getName() {
    return $this->functionName;
  }

}
?>