Насколько вы используете Opencart 3+
, есть хорошие новости.Библиотеки автоматически загружаются, если настроены правильно.
Как мы можем найти в источниках Opencart.Используются функции автозагрузки:
spl_autoload_register('library');
spl_autoload_extensions('.php');
И сама функция library
function library($class)
{
$file = DIR_SYSTEM . 'library/' . str_replace('\\', '/', strtolower($class)) . '.php';
if (is_file($file)) {
include_once(modification($file));
return true;
} else {
return false;
}
}
Итак, для загрузки вашей пользовательской библиотеки:
Создать.php
файл в <root>/system/library
, в этом случае мы можем дать следующее имя - superlibrary.php
Давайте рассмотрим, что наш библиотечный класс является одиночным.Итак, в нашем файле superlibrary.php
давайте определим простой класс:
class SuperLibrary
{
private static $inst;
public static function getInstance()
{
static::$inst = null;
if (static::$inst === null) {
static::$inst = new static();
}
return static::$inst;
}
private function __construct()
{
}
public function someMethod() {
var_dump("HELLO WORLD");
exit;
}
}
Далее, если вы попытаетесь сбросить загруженные классы, вы не найдете его в списке, потому что,мы не использовали его нигде в нашем коде.Давайте использовать его, например, на любом контроллере:
$superLib = SuperLibrary::getInstance();
$superLib->someMethod();
Если все настроено правильно, вы должны увидеть вывод метода с дампами.
Надеюсь, это поможет.