Я пишу библиотеку, которая использует GuzzleHttp
.Библиотека находится внутри пакета композитора:
composer.json
"require": {
// ...
"adz/test": "^1.0@dev",
// ...
}
. / Vendor / adz / test / composer.json
"require": {
"php": "~5.6|~7.0",
"guzzlehttp/guzzle": "^6.3"
},
контроллер библиотеки
namespace adz\test;
use GuzzleHttp\Client;
class User
{
static $client;
public function __construct()
{
self::$client = new \GuzzleHttp\Client();
}
public static function getAll()
{
$res = self::$client->request('GET', 'https://jsonplaceholder.typicode.com/users');
return $res->getBody();
}
}
фронт-контроллер
use adz\test\User;
class UserController extends Controller
{
var $user, $allUsers;
public function __construct()
{
$this->user = new User();
}
public function getAll()
{
$allUsers = $this->user::getAll();
echo $allUsers;
}
}
Во время выполнения приложение сообщает:
Класс 'GuzzleHttp \ Client' не найден.
Если я
composer require guzzlehttp/guzzle
на моем фронте composer.json
, то Guzzle
работает отлично.Но я не хочу загружать Guzzle
в свой фронт composer.json
.
Я только хочу загрузить Guzzle
в мою библиотеку composer.json
файл.
Что мне делать?
Редактировать: (./vendor/adz/test/composer.json
) - полная версия;
{
"name": "adz/test",
"type": "library",
"description": "desc",
"keywords": [
"adz",
"test"
],
"homepage": "https://github.com/adz/test",
"license": "MIT",
"authors": [
{
"name": "Andy",
"email": "andy@gmail.com",
"homepage": "https://github.com/1cookie",
"role": "Developer"
}
],
"require": {
"php": "~5.6|~7.0",
"guzzlehttp/guzzle": "^6.3"
},
"require-dev": {
"phpunit/phpunit" : ">=5.4.3",
"squizlabs/php_codesniffer": "^3.0"
},
"autoload": {
"psr-4": {
"adz\\test\\": "src"
}
},
"autoload-dev": {
"psr-4": {
"adz\\test\\": "tests"
}
},
"scripts": {
"test": "phpunit",
"check-style": "phpcs src tests",
"fix-style": "phpcbf src tests"
},
"extra": {
"branch-alias": {
"dev-master": "1.0-dev"
}
},
"config": {
"sort-packages": true
}
}