kematjaya / code-manager-bundle
7.4
2026-11-08 08:13 UTC
Requires
- php: >=8.4
- doctrine/doctrine-bundle: ^2.13|^3.0
- doctrine/orm: ^2.14|^3.0
- kematjaya/code-manager: ^7.4
- symfony/config: ^7.4
- symfony/dependency-injection: ^7.4
- symfony/doctrine-bridge: ^7.4
- symfony/http-kernel: ^7.4
- symfony/uid: ^7.4
- symfony/yaml: ^7.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.60
- phpunit/phpunit: ^9.6
- squizlabs/php_codesniffer: ^3.11|^4.0
- symfony/framework-bundle: ^7.4
- symfony/phpunit-bridge: ^7.4
- symfony/var-dumper: ^7.4
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Bundle Symfony untuk integrasi dengan library kematjaya/code-manager.
Generate kode otomatis (misal nomor invoice, transaksi) untuk entity Doctrine saat event preFlush.
Mendukung Symfony 7.4, PHP >= 8.4, dan Doctrine ORM 2.14+ / 3.x.
Instalasi
composer require kematjaya/code-manager-bundle
Update Schema Database
Bundle ini menyediakan entity CodeLibrary dan CodeLibraryLog (tabel Doctrine):
php bin/console doctrine:schema:update --force
Penggunaan pada Entity
Implementasikan Kematjaya\CodeManager\Entity\CodeLibraryClientInterface pada entity Anda:
namespace App\Entity; use Doctrine\DBAL\Types\Types; use Doctrine\ORM\Mapping as ORM; use Kematjaya\CodeManager\Entity\CodeLibraryClientInterface; #[ORM\Entity] class Transaction implements CodeLibraryClientInterface { #[ORM\Id] #[ORM\GeneratedValue] #[ORM\Column(type: Types::INTEGER)] private ?int $id = null; #[ORM\Column(type: Types::STRING, length: 255, nullable: true)] private ?string $code = null; public function getId(): ?int { return $this->id; } public function getClassId(): ?string { return null === $this->id ? null : (string) $this->id; } /** * Parameter dinamis untuk format kode (mis. {branch}, dsb) */ public function getLibrary(): array { return []; } public function getGeneratedCode(): ?string { return $this->code; } public function setGeneratedCode(string $code): self { $this->code = $code; return $this; } }
Saat entity di-persist dan di-flush tanpa generatedCode, CodeManagerListener akan secara otomatis men-generate kode sesuai konfigurasi CodeLibrary di database.