Add object-oriented license client library (v0.0.2)

- Add LicenseClient with PSR-3 logging and PSR-6 caching support
- Add DTO classes: LicenseInfo, LicenseStatus, ActivationResult
- Add LicenseState enum for license status values
- Add comprehensive exception hierarchy for error handling
- Add PSR dependencies (psr/log, psr/cache, psr/http-client)
- Update README with usage examples
- Update CHANGELOG for v0.0.2

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-22 15:51:05 +01:00
parent a702c262ca
commit 9e0cf0825f
20 changed files with 730 additions and 6 deletions

View File

@@ -0,0 +1,22 @@
<?php
declare(strict_types=1);
namespace Magdev\WcLicensedProductClient\Dto;
final readonly class ActivationResult
{
public function __construct(
public bool $success,
public string $message,
) {
}
public static function fromArray(array $data): self
{
return new self(
success: $data['success'],
message: $data['message'],
);
}
}