{"id":15286630,"url":"https://github.com/webarchitect609/bitrix-neverinclude","last_synced_at":"2025-10-15T15:12:45.372Z","repository":{"id":53312636,"uuid":"79936821","full_name":"webarchitect609/bitrix-neverinclude","owner":"webarchitect609","description":"Битрикс - автоматическое подключение модулей","archived":false,"fork":false,"pushed_at":"2024-07-10T10:06:38.000Z","size":20,"stargazers_count":10,"open_issues_count":1,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-13T03:41:19.666Z","etag":null,"topics":["bitrix","bitrix-module","composer","composer-library","includemodule","php"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/webarchitect609.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-24T17:45:08.000Z","updated_at":"2024-07-10T10:06:40.000Z","dependencies_parsed_at":"2024-11-07T18:03:31.957Z","dependency_job_id":"3f4c8d1c-01ac-442d-8e08-d7c789b3d2a7","html_url":"https://github.com/webarchitect609/bitrix-neverinclude","commit_stats":{"total_commits":17,"total_committers":3,"mean_commits":5.666666666666667,"dds":"0.23529411764705888","last_synced_commit":"6ef241f58dc86a6a16908b02c0c93c020bb23a5d"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/webarchitect609/bitrix-neverinclude","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webarchitect609%2Fbitrix-neverinclude","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webarchitect609%2Fbitrix-neverinclude/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webarchitect609%2Fbitrix-neverinclude/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webarchitect609%2Fbitrix-neverinclude/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webarchitect609","download_url":"https://codeload.github.com/webarchitect609/bitrix-neverinclude/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webarchitect609%2Fbitrix-neverinclude/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279085885,"owners_count":26100020,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-15T02:00:07.814Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bitrix","bitrix-module","composer","composer-library","includemodule","php"],"created_at":"2024-09-30T15:17:46.066Z","updated_at":"2025-10-15T15:12:45.352Z","avatar_url":"https://github.com/webarchitect609.png","language":"PHP","readme":"Автозагрузчик модулей Битрикс, который поможет вам забыть про вызовы CModule::IncludeModule и Loader::includeModule\n\nКак использовать\n----------------\n\n1 Установите через composer: \n\n`composer require webarchitect609/bitrix-neverinclude`\n\n2 Если необходимо, то в init.php укажите список модулей, которые следует исключить из обработки данного автолоадера:\n\n`\\WebArch\\BitrixNeverInclude\\BitrixNeverInclude::addExcludedModules(['foo.bar',]);`\n\nДанный пакет совместим с новыми версиями\n[andreyryabin/sprint.migration](https://packagist.org/packages/andreyryabin/sprint.migration): \u003e=3.0 \n\n3 В `init.php` после подключения `vendor/autoload.php` добавьте вызов: \n\n`\\WebArch\\BitrixNeverInclude\\BitrixNeverInclude::registerModuleAutoload();`\n\n**Больше подключать модули не нужно, за исключением некоторых ситуаций, описанных ниже.**\n\nОсобенности реализации\n----------------------\n\n1 Классы не из глобального namespace разбираются динамически и превращаются в название модуля, \nкоторый тут же подключается.\n\n2 Классы из глобальной области проверяются по маппингу \"имя класса =\u003e имя модуля\", для вычисления которого делается \nподключение всех установленных в системе модулей и производится сбор внутренних данных, которые потом кешируются. \n\nИзвестные ограничения\n--------------------------\n\n### При установке нового модуля\n\nЕсли происходит установка нового модуля, использующего классы в глобальной области, кеш маппинга \n\"имя класса =\u003e имя модуля\" будет неактуальным. Рекомендуется сбросить его по тегу следующим образом: \n\n```\n\n$tagCache = \\Bitrix\\Main\\Application::getInstance()-\u003egetTaggedCache();\n$tagCache-\u003eclearByTag(\\WebArch\\BitrixNeverInclude\\BitrixNeverInclude::CACHE_TAG);\n\n```\n\nПосле сброса кеша рекомендуется вызвать \n\n`\\WebArch\\BitrixNeverInclude\\BitrixNeverInclude::getClassMapping();`\n\n, чтобы при следующем хите уже существовал маппинг \"имя класса =\u003e имя модуля\". \n\n### Функции в модулях\n\nВ некоторых модулях объявляются функции, которые недоступны без подключения модуля. Например, [функция\n`SaleFormatCurrency`](https://dev.1c-bitrix.ru/api_help/sale/functions/saleformatcurrency.php) недоступна без\nподключения [модуля `sale`](https://dev.1c-bitrix.ru/api_help/sale/index.php). Из-за того, что в php нет механизма\nавтозагрузки функций, эта проблема не может быть решена автоматически. Следует вручную подключать соответствующий модуль\nперед вызовом функции, объявленной в этом модуле.\n\n### Несовместимость с некоторыми модулями\n\nЕсли архитектура модуля Битрикс сделана таким образом, что в `include.php` происходит регистрация своего автозагрузчика\nклассов, то очень вероятна несовместимость такого модуля с данным пакетом. Следует исключить этот модуль из\nобработки(см. выше) и подключать его по необходимости вручную. \n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebarchitect609%2Fbitrix-neverinclude","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebarchitect609%2Fbitrix-neverinclude","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebarchitect609%2Fbitrix-neverinclude/lists"}