
| Filename | |
| Version | 2.1.0.52~trixie |
| Age in days | 311 |
| Release date | 2025 12. 29. |
| Size | 150.76 KB |
| id | 4204 |
| Name | php-vitexsoftware-multiflexi-core |
| Package | |
| Appname | |
| Essential | |
| Vendor | |
| License | |
| Distribution | trixie |
| Suite | main |
| Source | |
| Architecture | binary-arm64 |
| MultiArch | foreign |
| Maintainer | Vítězslav Dvořák |
| InstalledSize | 1149 |
| Depends | php-vitexsoftware-ease-fluentpdo , php-json-schema |
| PreDepends | |
| Breaks | |
| Enhances | |
| Section | unknown |
| Priority | optional |
| Description | VitexSoftware Multiflexi Core Library |
| LongDescription | This package contains the core library for the VitexSoftware Multiflexi |
| AutoBuiltPackage | |
| Filename | pool/main/p/php-vitexsoftware-multiflexi-core/php-vitexsoftware-multiflexi-core_2.1.0.52~trixie_all.deb |
| MD5sum | a836f5492e37897c7a67b0418ccd4a04 |
| SHA1 | 13a884893ef1b48933c28f1b4edfbffb4f66d8ed |
| SHA256 | 99d929f290fa53ebc5b65df6315732b77ae51d08e6e914bedb4e011ecd978468 |
| SHA512 | 2633b6e58d70b8a1c0ab34a1091d2d294be446add5f9a6b850c361c3220ff1895a9a41dd751183cedf7f2e84bed1df000c341655160b439f9fd5ab0aad093939 |
| Size | 154376 |
| Auto-Built-Package | |
| Homepage | https://github.com/VitexSoftware/php-vitexsoftware-multiflexi-core |
| Provides | |
| Existing | |
| fileMtime | 2025-12-29 01:46:57 |
| created | 2025-08-26 22:26:29 |
| updated | 2025-12-29 01:46:57 |

MultiFlexi's Core classes

The MultiFlexi core provides a rich set of PHP classes for managing flexible, multi-tenant application environments. Below is a summary of the main classes organized by their functional areas:
Actions extend CommonAction and provide automated integrations and workflows:
On Debian-based systems, the autoloader explicitly includes classes only from
directories where additional packages can add or remove classes (for example,
Action, Env, Executor, and CredentialProtoType classes provided by add-on
packages like multiflexi-abraflexi). This ensures those classes are present in
get_declared_classes() even before they are referenced, while keeping the rest
of the namespaces lazy-loaded.
Other credential types ship as separate add-on packages, each with its own
CredentialProtoType class and test suite:
multiflexi-abrafleximultiflexi-raiffeisenbankmultiflexi-csasmultiflexi-vaultwardenmultiflexi-mservermultiflexi-microsoft365multiflexi-database-connectionAll classes follow PSR-12 coding standards, include comprehensive docblocks, and are well-tested with PHPUnit. Internationalization is supported via the i18n library, and all user-facing strings are translatable.
For more details, see the source code in the src/MultiFlexi/ directory and the corresponding unit tests in tests/src/MultiFlexi/.
multiflexi-core is heart of MultiFlexi suite. See the full list of ready-to-run applications within the MultiFlexi platform on the application list page.
MultiFlexi follows a modular architecture with clear separation of concerns:
Engine or DBEngine for consistent data access patternsCommonAction to provide reusable automation componentsTo create a custom action, extend the CommonAction base class:
<?php
namespace MultiFlexi\Action;
class MyCustomAction extends \MultiFlexi\CommonAction
{
public function perform(): int
{
// Access job context
$job = $this->runtemplate;
// Access environment variables
$config = $this->environment;
// Perform your action logic
// ...
// Return success (0) or failure (1+)
return 0;
}
}
Credentials are managed through the typed credential system:
<?php
// Create a credential for a specific service
$credential = new \MultiFlexi\Credential();
$credential->setData([
'name' => 'My API Key',
'type' => 'office365',
'username' => 'user@example.com',
'password' => 'secure_password'
]);
// Use in actions through the requirement system
$requirement = new \MultiFlexi\Requirement();
$requirement->setCredentialType('office365');
All database entities follow consistent patterns:
<?php
class MyEntity extends \MultiFlexi\Engine
{
public function __construct($identifier = null, $options = [])
{
$this->myTable = 'my_entities';
$this->keyword = 'id';
$this->nameColumn = 'name';
parent::__construct($identifier, $options);
}
}
>