Я использую Composer для автозагрузки, но некоторые классы не придерживаются структуры пространства имен, поскольку они должны существовать в глобальном пространстве имен. Какой лучший способ сделать это? Я мог бы указать их в разделе «файлы», но они будут загружаться при каждом запросе.
У меня есть класс Wc_Product_Whatwever, который находится внутри include / xxx, но должен работать в глобальном пространстве имен, чтобы WooCommerce работал
"autoload": {
"psr-4": {
"XXX\\Theme\\": "includes/XXX"},
"files": [
"includes/template-tags/navigation.php",
"includes/template-tags/styleguide.php"]
},
Ты можешь использовать classmap
самозарядные:
{
"autoload": {
"psr-4": {
"XXX\\Theme\\": "includes/XXX"},
"classmap": [
"includes/template-tags/"]
}
}
Для справки см. https://getcomposer.org/doc/04-schema.md#classmap.
Других решений пока нет …