A TdLib PHP Schema with generator for generating PHP objects from td_api.tl file.
Via Composer
$ composer require aurimasniekis/tdlib-schema<?php
use AurimasNiekis\TdLibSchema\TdSchemaRegistry;
$input = [
'@type' => 'updateOption',
'name' => 'version',
'value' => [
'@type' => 'optionValueString',
'value' => '1.6.0',
],
];
TdSchemaRegistry::fromArray($input);Will parse TdLib response to PHP Objects
class AurimasNiekis\TdLibSchema\UpdateOption#3 (3) {
protected string $name =>
string(7) "version"
protected AurimasNiekis\TdLibSchema\OptionValue $value =>
class AurimasNiekis\TdLibSchema\OptionValueString#2 (2) {
protected string $value =>
string(5) "1.6.0"
public ?string $tdExtra =>
NULL
}
public ?string $tdExtra =>
NULL
}Another example:
<?php
use AurimasNiekis\TdLibSchema\TdSchemaRegistry;
$input = [
'@extra' => 'foo',
'@type' => 'updateAuthorizationState',
'authorization_state' => [
'@type' => 'authorizationStateWaitTdlibParameters',
],
];
TdSchemaRegistry::fromArray($input);Will produce:
class AurimasNiekis\TdLibSchema\UpdateAuthorizationState#3 (2) {
protected AurimasNiekis\TdLibSchema\AuthorizationState $authorizationState =>
class AurimasNiekis\TdLibSchema\AuthorizationStateWaitTdlibParameters#2 (1) {
public ?string $tdExtra =>
NULL
}
public ?string $tdExtra =>
string(3) "foo"
}$ bin/generatorAlso run code style fix to fix code generation style issues:
$ composer cs-fixRun PHP style checker
$ composer cs-checkRun PHP style fixer
$ composer cs-fixRun all continuous integration tests
$ composer ci-runPlease see CONTRIBUTING and CONDUCT for details.
Please see License File for more information.