marcin-orlowski / lombok-php
编写更少的代码!
1.1.1
2023-10-10 18:45 UTC
Requires
- php: ^8.0|^8.1|^8.2
Requires (Dev)
- phpstan/phpstan: ^1.5
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-08-30 01:17:58 UTC
README
目录
简介
Lombok PHP
是一个提供不断增长的PHP属性(PHP 8.0中引入的特性)的包,旨在通过提供易于应用的标准功能来帮助减少项目中冗余代码。
主要目标是提供所有功能**在运行时**,无需任何中间步骤,且**无需代码生成**。
是的,项目名称是毫不掩饰地借鉴了Java中备受喜爱的Project Lombok。然而,它没有任何关联;它仅仅是向其范围和(目标)功能致敬。
优点
- 编写和维护的代码更少,
- 不再有重复的冗余代码,
- 可以与其他属性共存(例如,Doctrine等),
- 无需代码生成(所有操作都在线完成),
- 无额外依赖,
- 支持对象克隆,
- 适用于生产。
示例
纯PHP
class Entity { protected int $id; protected string $name; protected ?int $age; public function getId(): int { return $this->id; } public function getName(): string { return $this->name; } public function setName(string $name): static { $this->name = $name; return $this; } public function getAge(): ?int { return $this->age; } public function setAge(?int $age): static { $this->age = $age; return $this; } }
使用Lombok PHP
(从\Lombok\Helper
继承有帮助,但可选)
use Lombok\Getter; use Lombok\Setter; #[Setter, Getter] class Entity extends \Lombok\Helper { #[Getter] protected int $id; protected string $name; protected ?int $age; }
点击此处查看设置说明和所有技术细节。
许可证
- 由Marcin Orlowski编写并版权所有©2022-2023
Lombok PHP
是开源软件,根据LGPL 3.0许可。