Я пишу библиотеку аутентификации для Code Igniter (для практики, поэтому, пожалуйста, не предлагайте, например, Tank Auth или DX Auth).
Библиотека имеет базовые функции входа в систему, а также возможность входа в Facebook и Twitter.
Однако код входа в Facebook и Twitter жестко запрограммирован в Библиотеке. Это означает, что если я решу добавить, например, Google Logins Я должен изменить ядро библиотеки. Мне это не нравится.
Мне интересно, каким образом я мог бы сделать библиотеку расширяемой, чтобы логины Facebook и Twitter были «модулями», которые можно добавить.
Таким образом, кто-то может написать модуль для логинов Google, и ядро системы не нужно будет модифицировать.
Как создать расширяемые библиотеки в коде воспламенителя?