Как защитить класс в PHP

Мы работаем над проектом PHP, в котором есть плагины. Наш плагин включает в себя один класс с открытым исходным кодом.

Другой плагин использует этот же класс.

PHP выдаст ошибку «Невозможно повторно объявить класс», если оба плагина включают один и тот же класс.

Мы не можем спрашивать, существует ли class_exists, потому что мы хотим использовать наш файл класса, поскольку другой плагин может использовать более старую или более новую версию.

Мы также не хотим переименовывать класс, поскольку мы хотим, чтобы файл класса можно было легко обновить до более новой версии позже.

Мы не можем изменить другой плагин, поэтому можем ли мы что-нибудь сделать при включении этого файла, чтобы избежать ошибки?


person freediver    schedule 11.10.2011    source источник


Ответы (4)


Лучшим решением было бы поместить два класса в разные пространства имен. , но это поддерживается только с PHP 5.3.

person Sjoerd    schedule 11.10.2011

Использовать автозагрузку

http://php.net/manual/de/function.spl-autoload-register.php

person KingCrunch    schedule 11.10.2011

проверьте второй ответ на этот вопрос. я думаю, что это будет проблемой Неустранимая ошибка PHP: невозможно повторно объявить класс. надеюсь, это поможет.

хорошего дня...

person Jaison Justus    schedule 11.10.2011

Используйте require_once() вместо include() (или используйте автозагрузчик)

person symcbean    schedule 11.10.2011