private function registerActionBindings($action, $actionData) { foreach ($action->getParameters() as $param) { if ($param->getClass()) { $className = $param->getClass()->name; $actionData['customRoute']['bindingParams'][$className] = []; $paramReflection = new \ReflectionClass($className); foreach ($paramReflection->getProperties() as $property) { $propertyData = AnnotationParser::parseDoc($property->getDocComment(), $this->_propertyDataTemplate, 'property'); $actionData['customRoute']['bindingParams'][$className][$property->name] = $propertyData; } } } return $actionData; }
private function registerControllersActions($areaName, $fullPath) { $class = new \ReflectionClass($fullPath); $actions = $class->getMethods(); foreach ($actions as $action) { if (!$action->isPublic()) { continue; } $this->appStructure[$areaName][$fullPath][$action->name] = []; $realRoute = $this->getValidRouteUri($areaName, $fullPath, $action->name); $actionDoc = AnnotationParser::getActionDoc($action); if ($actionDoc) { $parsedDocsArray = AnnotationParser::parseActionDoc($actionDoc); if ($parsedDocsArray) { $parsedDocsArray['defaultRoute'] = $realRoute; $this->appStructure[$areaName][$fullPath][$action->name] = $parsedDocsArray; $this->_actionsArray[$action->name] = $this->appStructure[$areaName][$fullPath][$action->name]; } } else { $this->appStructure[$areaName][$fullPath][$action->name] = []; $this->_actionsArray[$action->name] = $this->appStructure[$areaName][$fullPath][$action->name]; } } }