Returns the package information of a user-defined class.
string $className:
string $docComment:
array
public static function getPackageInformation($className, $docComment) {
$result = array(
'namespace' => '',
'fullPackage' => '',
'category' => '',
'package' => '',
'subpackage' => '',
);
if (strpos($className, '\\') !== FALSE) {
$result['namespace'] = self::arrayToName(explode('\\', $className));
}
if (preg_match('/@category[\\s]+([\\.\\w]+)/', $docComment, $matches)) {
$result['category'] = $matches[1];
}
if (preg_match('/@package[\\s]+([\\.\\w]+)/', $docComment, $matches)) {
$result['package'] = $matches[1];
$result['fullPackage'] = $matches[1];
}
if (preg_match('/@subpackage[\\s]+([\\.\\w]+)/', $docComment, $matches)) {
$result['subpackage'] = $matches[1];
$result['fullPackage'] .= '.' . $matches[1];
}
if (empty($result['fullPackage'])) {
$result['fullPackage'] = self::arrayToName(explode('_', str_replace('\\', '_', $className)), '.');
}
return $result;
}