Psalm
Get started
Documentation
Paid support
Plugins
Blog
GitHub
<?php interface Comparable { public function equals(Comparable $object): bool; } class Foo implements Comparable { public ?string $baz = null; /** * @psalm-assert-if-true self $object */ public function equals(Comparable $object): bool { if (get_class($this) !== get_class($object)) { return false; } return true; } public function update(Comparable $object): void { if (!$this->equals($object)) { throw new \LogicException(); } $this->baz = $object->baz; } }
Snippet created on July 23 2021 at 12:38 UTC
Settings
Get link