Могу ли я получить данные Reflection, передав путь к классу, а не имя класса? - PullRequest
0 голосов
/ 25 февраля 2012

Я делаю свой собственный автозагрузчик классов и создаю массив из результатов.

один из моих массивов, я бы хотел, чтобы он выглядел как

$classes['myTestClass'] = ./classes/myTestClass.class.php

Я могу построить этот массив, но я не могу установить фактическое имя класса загружаемого класса в качестве ключа к пути.

это мой цикл foreach, который создает мой массив

foreach ($classIterator as $file) {

    if ($this->_searchFilter($file))
        $this->classes[] = $file->getPathname();
}

$file->getPathname() имеет абсолютный путь к файлу класса, который будет required, как я могу получить имя класса из этого файла?

1 Ответ

0 голосов
/ 25 февраля 2012

Если вы используете соглашение об именах, поэтому /classes/myTestClass.class.php объявляет myTestClass, тогда достаточно простого str_replace:

foreach ($classIterator as $file) {

    if ($this->_searchFilter($file))
        $classPath = $file->getPathname();
        $className = str_replace('.class.php', '', basename($classPath));
        $this->classes[$className] = $classPath;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...