public function getModifiers()
{
$modifiers = array();
foreach ($this->visibility as $visibility) {
switch ($visibility) {
case 'public':
$modifiers['ZEND_ACC_PUBLIC'] = $visibility;
break;
case 'protected':
$modifiers['ZEND_ACC_PROTECTED'] = $visibility;
break;
case 'private':
$modifiers['ZEND_ACC_PRIVATE'] = $visibility;
break;
case 'static':
$modifiers['ZEND_ACC_STATIC'] = $visibility;
break;
case 'final':
$modifiers['ZEND_ACC_FINAL'] = $visibility;
break;
case 'abstract':
$modifiers['ZEND_ACC_ABSTRACT'] = $visibility;
break;
case 'deprecated':
$modifiers['ZEND_ACC_DEPRECATED'] = $visibility;
break;
case 'inline':
break;
case 'scoped':
break;
case 'internal':
break;
default:
throw new Exception('Unknown modifier "' . $visibility . '"');
}
}
if ($this->name == '__construct') {
$modifiers['ZEND_ACC_CTOR'] = true;
} else {
if ($this->name == '__destruct') {
$modifiers['ZEND_ACC_DTOR'] = true;
}
}
return join('|', array_keys($modifiers));
}