PHPackages                             webpractik/bitrixoa - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. webpractik/bitrixoa

ActiveLibrary[API Development](/categories/api)

webpractik/bitrixoa
===================

A package for generating annotations and drawing SwUi when working with Bitrix controllers.

1.3.0(3w ago)409.0k↑18.8%11[4 issues](https://github.com/webpractik/bitrixoa/issues)MITPHPPHP &gt;=8.1

Since May 18Pushed 3w ago8 watchersCompare

[ Source](https://github.com/webpractik/bitrixoa)[ Packagist](https://packagist.org/packages/webpractik/bitrixoa)[ Docs](https://github.com/webpractik/bitrixoa)[ RSS](/packages/webpractik-bitrixoa/feed)WikiDiscussions main Synced today

READMEChangelog (8)Dependencies (3)Versions (9)Used By (0)

\[bitrixoa\] Bitrix OpenApi
===========================

[](#bitrixoa-bitrix-openapi)

Пакет для генерации [Swagger UI](https://swagger.io/tools/swagger-ui/) на основе аннотаций при работе с [контроллерами](https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=6436&LESSON_PATH=3913.3516.5062.3750.6436) и роутером Bitrix.

Установка
---------

[](#установка)

```
composer install webpractik/bitrixoa

```

Генерация
---------

[](#генерация)

`./vendor/bin/bitrixoa`

### Параметры

[](#параметры)

1. `--bitrix-generate` параметр указывает, что openapi необходимо смотреть в директорию local/modules
2. `--index-mode` создаст сгенерированный /api-doc/index.php с разметкой swaggerui физически.
3. `--bootstrap` (`-b`) подключить php-файл до сканирования (нужно для swagger-php &gt;=5, см. ниже).

Совместимость со swagger-php 5/6
--------------------------------

[](#совместимость-со-swagger-php-56)

Пакет работает со swagger-php `^4.6`, `^5` и `^6`. Ключевые отличия:

- **Способы описания.** Поддерживаются и PHP-атрибуты `#[OA\...]` (предпочтительно в 5/6), и docblock-аннотации `@OA\...`. Для аннотаций нужен пакет `doctrine/annotations` (в swagger-php он опционален начиная с 4.8) — он добавлен в зависимости bitrixoa.
- **Рефлексия и bootstrap.** В swagger-php &gt;=5 удалён `TokenAnalyser`, остался только `ReflectionAnalyser`: чтобы прочитать аннотации/атрибуты, он загружает классы. Контроллеры Bitrix наследуют классы ядра, поэтому генерацию нужно запускать при поднятом ядре — укажите bootstrap-скрипт, инициализирующий Bitrix:

    ```
    php vendor/bin/bitrixoa --bitrix-generate -b bootstrap.php
    ```

    Пример `bootstrap.php` (поднимает ядро и подключает модули):

    ```
