respect-validation/docs/validators/Instance.md
Henrique Moody 7c681fec66
Fix SPDX headers in all files
I ran the `bin/console spdx --fix` with different strategies for
different files. For most of the core classes, since they've been
drastically rebuilt, I've run it with the `git-blame` strategy, for for
the `src/Validators`, in which the API changed completely but the logic
remains the same, I use the `git-log` strategy.
2026-02-03 15:23:23 +01:00

55 lines
1.5 KiB
Markdown

<!--
SPDX-License-Identifier: MIT
SPDX-FileCopyrightText: (c) Respect Project Contributors
SPDX-FileContributor: Alexandre Gomes Gaigalas <alganet@gmail.com>
SPDX-FileContributor: Henrique Moody <henriquemoody@gmail.com>
-->
# Instance
- `Instance(class-string $class)`
Validates if the input is an instance of the given class or interface.
```php
v::instance('DateTime')->assert(new DateTime);
// Validation passes successfully
v::instance('Traversable')->assert(new ArrayObject);
// Validation passes successfully
```
Message template for this validator includes `{{instanceName}}`.
## Templates
### `Instance::TEMPLATE_STANDARD`
| Mode | Template |
| ---------: | :---------------------------------------------------------- |
| `default` | {{subject}} must be an instance of {{class&#124;quote}} |
| `inverted` | {{subject}} must not be an instance of {{class&#124;quote}} |
## Template placeholders
| Placeholder | Description |
| ----------- | ---------------------------------------------------------------- |
| `class` | |
| `subject` | The validated input or the custom validator name (if specified). |
## Categorization
- Objects
## Changelog
| Version | Description |
| ------: | :---------- |
| 0.3.9 | Created |
## See Also
- [Countable](Countable.md)
- [IterableType](IterableType.md)
- [IterableVal](IterableVal.md)
- [ObjectType](ObjectType.md)