Как автоматически загрузить репозиторий в composer, который не следует PSR-0 или PSR-4?

Итак, я пытаюсь использовать https://github.com/jcleblanc/reddit-php-sdk, но он не соответствует никаким стандартам и не имеет доступного репозитория, поэтому мне пришлось вручную определить его в моем composer.json файл:

"repositories" : [{
    "type": "package",
    "package": {
        "name": "jcleblanc/reddit-php-sdk",
        "version": "dev-master",
        "source": {
            "url": "https://github.com/jcleblanc/reddit-php-sdk",
            "type": "git",
            "reference": "origin/master"
        },
        "autoload": {
            "classmap": ["reddit-php-sdk/", "/", "reddit.php", "config.php"]
        }
    }
}],

Структура каталогов в vendor/ Вот:

введите описание изображения здесь

Тем не менее, когда я тогда бегу composer dump-autoloadклассы в этом проекте не загружаются автоматически и не отображаются ни в одном из autoload_*.php файлы композитора. Это значит я конечно получаю "Class 'reddit' not found" ошибка всякий раз, когда я пытаюсь использовать его.

Решения?

2 ответа

Решение

Закончилось раздвоение проекта, но оказалось, что оригинальный проект все равно сломан.

Вы можете использовать Composer's file автозагрузка.

{
"autoload": {
    "files": ["src/MyLibrary/functions.php"]
    }
}

Однако это больше относится к файлам вспомогательных функций, и я не пробовал это с файлом Class (хотя нет причин, по которым он не должен работать).

Другие вопросы по тегам