Skip to content

Instantly share code, notes, and snippets.

@Yurunsoft
Last active October 23, 2018 01:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Yurunsoft/f80b6e234a031cdd320d28bb629947a3 to your computer and use it in GitHub Desktop.
Save Yurunsoft/f80b6e234a031cdd320d28bb629947a3 to your computer and use it in GitHub Desktop.
eval and new anonymous class bug
<?php
class A{
}
class B{
}
class C{
}
class D{
}
class E{
}
class F{
}
class G{
}
class H{
}
class I{
}
class J{
}
class K{
}
class L{
}
class M{
}
class N{
}
class O{
}
class P{
}
class Q{
}
class R{
}
class S{
}
class T{
}
class U{
}
class V{
}
class W{
}
class X{
}
class Y{
}
class Z{
}
for($i = 0; $i < 10; ++$i)
{
$className = chr(65 + mt_rand(0, 25));
$str = <<<STR
return new class extends {$className}{};
STR;
$object = eval($str);
if(!$object instanceof $className)
{
echo 'object is ', get_parent_class($object), ', but it must be ', $className, PHP_EOL;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment