Weaver ORM
PHP 8.4+ ORM for Symfony.
Zero reflection, no proxies, no memory leaks.
Why Weaver?
⚡
Zero Reflection
No runtime reflection, no magic proxies, no hidden overhead. Weaver uses PHP 8.4 property hooks and compile-time metadata — your entities are plain PHP objects.
🔒
Worker-Safe
Each request gets its own EntityWorkspace with isolated identity maps and change tracking. No shared state, no cross-request contamination — built for PHP workers and async environments.
🚀
PyroSQL Ready
First-class support for PyroSQL's advanced features: time travel queries, database branching, change data capture (CDC), approximate aggregates, and vector similarity search.
Clean, Expressive Mapping
Define entities with PHP 8.4 attributes and property hooks. No XML, no YAML, no annotations magic.
#[Entity]
class Order
{
#[Id, GeneratedValue]
public int $id;
#[Column]
public OrderStatus $status = OrderStatus::Draft;
#[OneToMany(targetEntity: OrderLine::class)]
public Collection $lines;
#[Embedded]
public Money $total;
}
// In your service
$order = $workspace->find(Order::class, $id);
$order->status = OrderStatus::Confirmed;
$workspace->flush(); // only changed fields are updated