Skip to content

Instantly share code, notes, and snippets.

@leohilbert
Last active March 18, 2021 15:18
Show Gist options
  • Save leohilbert/293e42fe49af252f0a914cf621b49ad1 to your computer and use it in GitHub Desktop.
Save leohilbert/293e42fe49af252f0a914cf621b49ad1 to your computer and use it in GitHub Desktop.
InstanceOf Twig Extension
<?php
use ReflectionClass;
use Twig\Extension\AbstractExtension;
use Twig\TwigTest;
class InstanceOfTwigExtension extends AbstractExtension
{
public function getTests(): array
{
return array(
new TwigTest('instanceof', array($this, 'isInstanceOf'))
);
}
public function isInstanceOf($object, $class)
{
$reflectionClass = new ReflectionClass($class);
return $reflectionClass->isInstance($object);
}
}
{% if object is instanceof('Acme\\Foo\\Entity') %}
<p>true</p>
{% else %}
<p>false</p>
{% endif %}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment