Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ClassReader.php
Go to the documentation of this file.
1 <?php
7 
9 {
17  public function getConstructor($className)
18  {
19  $class = new \ReflectionClass($className);
20  $result = null;
21  $constructor = $class->getConstructor();
22  if ($constructor) {
23  $result = [];
25  foreach ($constructor->getParameters() as $parameter) {
26  try {
27  $result[] = [
28  $parameter->getName(),
29  $parameter->getClass() !== null ? $parameter->getClass()->getName() : null,
30  !$parameter->isOptional() && !$parameter->isDefaultValueAvailable(),
31  $parameter->isDefaultValueAvailable() ? $parameter->getDefaultValue() : null,
32  ];
33  } catch (\ReflectionException $e) {
34  $message = $e->getMessage();
35  throw new \ReflectionException($message, 0, $e);
36  }
37  }
38  }
39 
40  return $result;
41  }
42 
55  public function getParents($className)
56  {
57  $parentClass = get_parent_class($className);
58  if ($parentClass) {
59  $result = [];
60  $interfaces = class_implements($className);
61  if ($interfaces) {
62  $parentInterfaces = class_implements($parentClass);
63  if ($parentInterfaces) {
64  $result = array_values(array_diff($interfaces, $parentInterfaces));
65  } else {
66  $result = array_values($interfaces);
67  }
68  }
69  array_unshift($result, $parentClass);
70  } else {
71  $result = array_values(class_implements($className));
72  if ($result) {
73  array_unshift($result, null);
74  } else {
75  $result = [];
76  }
77  }
78  return $result;
79  }
80 }
$message
$_option $_optionId $class
Definition: date.phtml:13
if($currentSelectedMethod==$_code) $className
Definition: form.phtml:31