Могу ли я иметь класс и подчеркивание в нем?

92
11

Я добавляю стороннюю библиотеку (Hybrid Auth) к моему проекту zend. Основной класс называется hybrid_auth. Я предполагаю, что с подчеркиванием в имени класса с ошибкой в zend? Должен ли я переименовать этот класс по всей библиотеке или было бы лучше создать мой собственный автозагрузчик?

Простите краткость, я нахожусь на своем телефоне и попытаюсь обновиться позже.

Благодарю.

спросил(а) 2012-09-05T21:59:00+04:00 8 лет, 1 месяц назад
1
Решение
71

Это не вызовет ошибку, как таковое. Подчеркивания в именах классов прекрасно.

Но автозагрузчик по умолчанию попытается найти класс hybrid_auth на вашем include_path в файле hybrid/auth.php.

Вы также можете:

Включите руководство, прежде чем ссылаться на класс, чтобы автозагрузка не ударяла

Напишите пользовательский автозагрузчик для этого класса - и любых других, подобных ему, - и вытащите этот автозагрузчик в стек Zend_Loader_Autoloader.

Переименуйте класс и/или имя файла в соответствии с PSR-0, чтобы стандартный автозагрузчик был доволен им.

Лично я бы пошел с (2): напишите свой автозагрузчик. Я ненавижу код сторонней библиотеки обезьян-патчей, потому что последующие обновления lib перезаписывают мой хак.

Для написания собственных автозагрузчиков ознакомьтесь с этим.

ответил(а) 2012-09-05T22:28:00+04:00 8 лет, 1 месяц назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема