Композитор автозагрузка

1

Попытка автозагрузки некоторых файлов. Если я делаю это в "root" composer.json - он работает. Но когда я собираюсь загружать классы и файлы в "package composer.json", похоже, что он вообще не работает.

Мой "корень" composer.json:

{
    "repositories": [
        {
            "type": "git",
            "url": "https://bitbucket.org/yuriikrevnyi/bitrix-teil-framework"
        }
    ],
    "require": {
        "mockery/mockery": "dev-master@dev",
        "phpunit/phpunit": "3.7.*",
        "yuriikrevnyi/bitrix-teil-framework": "dev-master"
    },
    "autoload": {
        "classmap": [
            "vendor/yuriikrevnyi/bitrix-teil-framework/framework/src"
        ],
        "files": [
             "vendor/yuriikrevnyi/bitrix-teil-framework/framework/start.php"
        ]
    }
}

И "package composer.json":

{
    "name": "yuriikrevnyi/bitrix-teil-framework",
    "description": "Framework for bitrix.",
    "homepage": "https://bitbucket.org/yuriikrevnyi/bitrix-teil-framework",
    "authors": [
        {
            "name": "Yurii Krevnyi",
            "homepage": "https://bitbucket.org/yuriikrevnyi"
        }
    ],
    "autoload": {
        "classmap": [
            "vendor/yuriikrevnyi/bitrix-teil-framework/framework/src"
        ],
        "files": [
             "vendor/yuriikrevnyi/bitrix-teil-framework/framework/start.php"
        ]
    }
}

Если я удалю автозагрузки из "root composer.json" - ничего не происходит.

Я использую - компоновщик dump-autoload -o, для загрузки файлов.

Может кто-нибудь мне немного помог? Благодарю!

Теги:
composer-php
autoload

1 ответ

1

Вы не должны ссылаться на каталог поставщика. Композитор обрабатывает этот каталог для вас, но вы не должны предполагать, что там будут существовать.

Предполагая, что файлы классов, которые вы хотите использовать для автозагрузки, находятся в $workDIR."yuriikrevnyi/bitrix-teil-framework/src" а start.php находится в каталоге ниже: composer.json в $workDIR."yuriikrevnyi/bitrix-teil-framework/ должны иметь записи классов и файлов, определенные как:

"autoload": {
    "classmap": [
        "src/"
    ],
    "files": [
         "start.php"
    ]
}

Когда Composer вытащит эту зависимость в ваш основной проект, он изменит записи, чтобы указать на нужное место в каталоге поставщика.

  • 0
    не работает вообще :(

Ещё вопросы

Сообщество Overcoder
Наверх
Меню