mesilov / bitrix24-php-lib
A powerful PHP library for rapid Bitrix24 application development
Installs: 89
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 2
Forks: 1
Open Issues: 21
pkg:composer/mesilov/bitrix24-php-lib
Requires
- php: 8.3.* || 8.4.*
- ext-bcmath: *
- ext-curl: *
- ext-intl: *
- ext-json: *
- bitrix24/b24phpsdk: dev-dev
- darsyn/ip: ^5
- doctrine/doctrine-bundle: *
- doctrine/doctrine-migrations-bundle: *
- doctrine/orm: ^3
- fig/http-message-util: ^1
- giggsey/libphonenumber-for-php: ^8
- knplabs/knp-paginator-bundle: ^6
- moneyphp/money: ^4
- nesbot/carbon: ^3
- psr/log: ^3
- symfony/cache: ^7
- symfony/console: ^7
- symfony/dotenv: ^7
- symfony/event-dispatcher: ^7
- symfony/serializer: ^7
- symfony/uid: ^7
- symfony/yaml: ^7
Requires (Dev)
- doctrine/migrations: ^3
- fakerphp/faker: ^1
- friendsofphp/php-cs-fixer: ^3.64
- lendable/composer-license-checker: ^1.2
- monolog/monolog: ^3
- phpstan/phpstan: ^1
- phpunit/phpunit: ^11
- psalm/phar: ^5
- rector/rector: ^1
- roave/security-advisories: dev-master
- symfony/debug-bundle: ^7
- symfony/property-access: ^7.3
- symfony/stopwatch: ^7
- dev-main
- 0.3.0
- 0.2.0
- 0.1.0
- dev-dev
- dev-claude/fix-bitrix24-issue-67-01Pg2AJibYNoBKmUVijCYFhU
- dev-claude/implement-issue-72-01PyCT5q1ySkhYBu5ehAcnL9
- dev-claude/bitrix24-issue-70-01PSzKghSeJKibfs1z3wb8sX
- dev-claude/fix-bitrix24-issue-64-01AqT7uFvkYhkBLnuMQZGpCZ
- dev-bugfix/58-fix-user-id-refresh-token
- dev-add-contact-persons
- dev-feature/46-fix-errors
- dev-feature/44-bump-php-version
- dev-add-application-install
- dev-add-docker-structure
- dev-feature/1-kick-off
This package is auto-updated.
Last update: 2025-11-25 15:34:25 UTC
README
PHP lib for Bitrix24 application development
Build status
CI\CD status on master |
|---|
Application Domain
The library is designed for rapid development of Bitrix24 applications. Provides data storage layer in PostgreSQL database using Doctrine ORM.
Implements contracts from bitrix24-php-sdk.
Supported Contracts
Bitrix24Accounts — ✅
Responsible for storing Bitrix24 accounts with portal access tokens.
ApplicationInstallations — ✅
Responsible for storing installation facts of applications on specific Bitrix24 portals
ContactPersons — ⏳ work in progress
Responsible for storing contact persons who performed application installation
Bitrix24Partners — ⏳ work in progress
Responsible for storing Bitrix24 partners who performed installation or service the portal
ApplicationSettings — ✅
Responsible for storing application settings for specific Bitrix24 portal
Architecture
Layers and Abstraction Levels
bitrix24-app-laravel-skeleton – Laravel application template
bitrix24-app-symfony-skeleton – Symfony application template
bitrix24-php-lib – application entities work and their storage in database
bitrix24-php-sdk – transport layer + transport events (expired token, portal renamed)
Bounded Context Folder Structure
src/
Bitrix24Accounts
Controllers
Entity
Exceptions
Events
EventListeners
Infrastructure
ConsoleCommands
Doctrine
Types
Repository
ReadModel
UseCases
SomeUseCase
Tests
Quick Start
Prerequisites
- Docker and Docker Compose
- Make
Running Tests
# Initialize and start services make up # Run functional tests (uses default database configuration) make test-run-functional # Run linters make lint-phpstan make lint-cs-fixer make lint-rector
Database Configuration
Default database credentials are pre-configured in .env:
- Host:
database(Docker service) - Database:
b24phpLibTest - User:
b24phpLibTest - Password:
b24phpLibTest
No additional configuration needed for running tests.
Infrastructure
- library is made cloud-agnostic
Development Rules
- We use linters
- Library is covered with tests
- All work is organized through issues
- Development processes are remote first
- Think and discuss — then write