cyberspectrum / php-transifex
完全使用PHP编写的transifex API客户端
2.0.3
2023-08-16 10:38 UTC
Requires
- php: ^8.1
- ext-json: *
- ext-mbstring: *
- jane-php/json-schema-runtime: ^7.5.0
- jane-php/open-api-runtime: ^7.5.0
- php-http/client-common: ^2.6.1
- php-http/discovery: ^1.15
- php-http/multipart-stream-builder: ^1.2.0
- php-http/promise: ^1.1.0
- psr/http-client: ^1.0
- psr/http-factory: ^1.0
- psr/http-message: ^1.1
- psr/log: ^3.0.0
- symfony/deprecation-contracts: ^3.2
- symfony/options-resolver: ^6.2
- symfony/serializer: ^6.2
- symfony/validator: ^6.2
Requires (Dev)
- http-interop/http-factory-guzzle: ^1.2.0
- php-http/guzzle7-adapter: ^1.0.0
- phpcq/runner-bootstrap: ^1.0@dev
Suggests
- php-http/buzz-adapter: For using buzz as transport
- php-http/guzzle7-adapter: For using guzzle as transport
- php-http/react-adapter: For using react as transport
This package is auto-updated.
Last update: 2024-09-16 16:18:56 UTC
README
用PHP编写的Transifex客户端。
此客户端使用php-http
基础接口。
安装
$ php composer.phar require cyberspectrum/php-transifex php-http/guzzle7-adapter
为什么使用php-http/guzzle7-adapter
?我们在HTTPlug的帮助下与任何HTTP消息客户端解耦。
您也可以安装任何其他适配器,而不是php-http/guzzle7-adapter
,只需确保安装了一个即可。
使用方法
我们有两层API。
- 命名空间
CyberSpectrum\PhpTransifex\ApiClient
中的底层API - 命名空间
CyberSpectrum\PhpTransifex\Model
中的基于实体的高级API
1. 底层API。
快速入门 - 创建一个API客户端
$factory = new CyberSpectrum\PhpTransifex\ApiClient\ClientFactory( $logger, [new CyberSpectrum\PhpTransifex\ApiClient\Generated\Authentication\BearerAuthAuthentication($apiKey)] ); $client = $factory->create($factory->createHttpClient()); // Fetch a project: $project = $client->getProjectByProjectId('project-id');
2. 高级API。
创建一个API客户端
$factory = new CyberSpectrum\PhpTransifex\ApiClient\ClientFactory( $logger, [new CyberSpectrum\PhpTransifex\ApiClient\Generated\Authentication\BearerAuthAuthentication($apiKey)] ); $client = $factory->create($factory->createHttpClient()); $transifex = new CyberSpectrum\PhpTransifex\PhpTransifex($client);
获取一个组织
$organization = $transifex->organizations()->getBySlug('organization');
创建一个项目
$project = $organization->projects()->add( 'project-slug', 'My Project description', 'en', // source language code. 'https://example.org' // the repository URL for open source projects or false for private. ); $project->save();
获取一个项目
$project = $transifex->organizations()->getBySlug('organization')->projects()->getBySlug('some-project');
添加一种语言
$project->languages()->add('de')->coordinators()->add('transifex-username'); $project->save(); // Show all language codes for the project. var_export($project->languages()->codes());