пространства имен — Как использовать MaxMind GeoIp2 в PHP с другим автозагрузчиком?

Я установил MaxMind’s GeoIp2 => https://github.com/maxmind/MaxMind-DB-Reader-php

Также расширение PHP https://github.com/maxmind/libmaxminddb для быстрого поиска

Все отлично работает, когда я использую это так:

require_once '/pathto/Composer/vendor/autoload.php';
use GeoIp2\Database\Reader;

$reader = new Reader('/pathto/GeoLite2-Country.mmdb');
$record = $reader->country('8.8.4.4');

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

function __autoload($class_name) {
$p = explode("\\", $class_name);
require_once 'pathto/'.$p[2].'.class.php';
}

Кажется, что эти 2 автозагрузчика сталкиваются друг с другом, и на самом деле я не могу использовать GeoIp2 в файле, смешанном с моими классами.

Как я могу решить эту надоедливую проблему?
Огромное спасибо заранее.

1

Решение

Проблема была решена с помощью:

spl_autoload_register();

Вот простой пример:

function base_autoload($class_name) {

$p = explode("\\", $class_name);
require_once '/mydir/'.$p[2].'.class.php';

}

spl_autoload_register('base_autoload');
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]