Я столкнулся с интересной дилеммой. В классе DataMapper я создаю имя класса, которое будет использоваться для возвращаемых строк из базы данных.
Дело в том, что все мои классы загружаются автоматически и могут поступать из разных мест (библиотеки, приложения / модели и т. Д.), И я хотел проверить, действительно ли сгенерированное имя класса существует. Теперь можно подумать, что:
try
{
$test = new $className();
}
catch(Exception $ex)
{
// Class could not be loaded
}
Но, конечно же, ошибки php (вместо создания исключения), говорящие о том, что класс не найден ... Не очень полезны. Если не считать перезаписи автозагрузчика в Zend_Loader для поиска во всех каталогах, чтобы узнать, может ли класс быть загружен, есть ли способ сделать это?
Для тех, кто интересуется, почему мне нужно сделать это, вместо того, чтобы просто показать ошибку Class Not Found, если класс не найден, я хочу создать класс в заранее определенном месте, чтобы облегчить мою жизнь как этот проект идет вместе.
Заранее спасибо!
Терри
P.S. Дайте мне знать, если вам, ребята, нужна дополнительная информация.