21 #require_once 'Zend/File/PhpClassFile.php'; 42 if (is_string($dirOrIterator)) {
43 if (!
is_dir($dirOrIterator)) {
44 throw new InvalidArgumentException(
'Expected a valid directory name');
47 $dirOrIterator =
new RecursiveDirectoryIterator($dirOrIterator);
49 if (!$dirOrIterator instanceof DirectoryIterator) {
50 throw new InvalidArgumentException(
'Expected a DirectoryIterator');
53 if ($dirOrIterator instanceof RecursiveIterator) {
54 $iterator =
new RecursiveIteratorIterator($dirOrIterator);
60 $this->setInfoClass(
'Zend_File_PhpClassFile');
63 if (version_compare(PHP_VERSION,
'5.3.0',
'<')) {
64 if (!defined(
'T_NAMESPACE')) {
65 define(
'T_NAMESPACE',
'namespace');
67 if (!defined(
'T_NS_SEPARATOR')) {
68 define(
'T_NS_SEPARATOR',
'\\');
80 $file = $this->getInnerIterator()->current();
83 if (!$file instanceof SplFileInfo) {
88 if (!$file->isFile()) {
93 if ($file->getBasename(
'.php') == $file->getBasename()) {
100 $t_trait = defined(
'T_TRAIT') ? T_TRAIT : -1;
116 $saveNamespace =
false;
120 $saveNamespace =
true;
133 if ($saveNamespace) {
134 $savedNamespace = $namespace;
149 if (T_STRING ==
$type) {
152 if (!isset($namespace) ||
null === $namespace) {
153 if (isset($saveNamespace) && $saveNamespace) {
154 $namespace = $savedNamespace;
171 $classes = $file->getClasses();
172 if (!empty($classes)) {
$_option $_optionId $class
__construct($dirOrIterator='.')