@MrTimon

Как подгрузить нужный класс если библиотека с этим классом подгружается несколько раз?

К примеру пишу тему в WordPress (ВП) импользуя композер, немспейсы и т д. Тоисть у меня в теме будет папка vendor куда будут подгружатся библиотеки. И вот мне нужно использовать одну из них к примеру Guzzle. Я скачиваю библиотеку последней версии и тогда в коде:

use GuzzleHttp\Client;

class SomeClass {

public function __construct( )
	{
		$client = new Client();
                $res = $client->request('GET', 'https://api.github.com/repos/guzzle/guzzle');
                echo $res->getStatusCode();
	}
}

И вот здесь мне выдает ошибку что метода request нету. А все потому что в плагинах ВП эсть еще 2 плагина, которые подгрузили себе эту библиотеку но не последней версии и там метод называется не request а createRequest, а все немспейсы одинакове получаються. Ну и таких примеров можно привести много.

Вопрос в том как мне через немспейс подключить именно мою библиотеку с папки вендор в моей теме? Нужно что-то в файле автолоадера менять? или в композере настройки может быть?
  • Вопрос задан
  • 171 просмотр
Пригласить эксперта
Ответы на вопрос 2
@AlexndrNovikov
Solution Architect in Spiral Scout
Попробуй синоним, например
use GuzzleHttp\Client as VendorClient;

public function __construct( )
  {
                $client = new VendorClient();
                $res = $client->request('GET', 'https://api.github.com/repos/guzzle/guzzle');
                echo $res->getStatusCode();
  }
}
Ответ написан
Комментировать
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
В теории, неймспейсы как раз для того чтобы одинаково называющиеся классы не пересекались. Что вам мешает неймспейс сменить в той библиотеке которая нужна?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы