Я хочу использовать: https://github.com/mikealmond/MusicBrainz
Скопировал lib в папку myapp-> vendor. Установлен Guzzle с композитором и обновлен композитор.
use GuzzleHttp\Client;
use MusicBrainz\Filters\ArtistFilter;
use MusicBrainz\Filters\RecordingFilter;
use MusicBrainz\HttpAdapters\GuzzleHttpAdapter;
use MusicBrainz\MusicBrainz;
require __DIR__ . '/vendor/autoload.php';
Автозагрузка не работает. Я много чего перепробовал и не знаю, что написать в composer.json.
Error: Class 'MusicBrainz\MusicBrainz' not found
Когда я звоню:
$brainz = new MusicBrainz(new GuzzleHttpAdapter(new Client()));
Я пробовал в composer.json
"require-dev": {
"vendor/MusicBrainz": "dev-master"},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/mikealmond/MusicBrainz.git"}
],
Тогда обновление композитора …
И я получаю:
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- The requested package src/musicbrainz could not be found in any version, there may be a typo in the package name.
Potential causes:
- A typo in the package name
- The package is not available in a stable-enough version according to your minimum-stability setting
see <https://getcomposer.org/doc/04-schema.md#minimum-stability> for more details.
Read <https://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.
Перейдите на связанную страницу репозитория на Github. В корневой папке нажмите на файл с именем composer.json
, Поиск строки с "name"
, Право на текст — это название этого пакета, которое вы должны использовать в Composer.
Кроме того, перейдите к https://packagist.org и введите что-то близкое к реальному имени в поле поиска, например musicb
, Что-то будет найдено: https://packagist.org/search/?q=musicb
В любом случае вы найдете название пакета: mikealmond/musicbrainz
,
Теперь перейдите в командную строку и введите: composer require mikealmond/musicbrainz
, Composer сделает все остальное, включая загрузку Guzzle, потому что это объявлено как зависимость.
После этого шага демонстрационный код будет работать — или, по крайней мере, не потерпит неудачу из-за пропущенных классов.
Других решений пока нет …