|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2015-05-22 11:57 UTC] nikic@php.net
-Status: Open
+Status: Not a bug
[2015-05-22 11:57 UTC] nikic@php.net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Oct 24 19:00:01 2025 UTC |
Description: ------------ 'MyClass::class' construction works different inside and outside of assertion if namespace given. Test script: --------------- <?php namespace Test; // Without namespace works fine assert_options(ASSERT_ACTIVE, 1); class A { } class B extends A { } $test1 = $test2 = $name_a = $name_b = null; $test1 = is_subclass_of(B::class, A::class); assert('($test2 = is_subclass_of(B::class, A::class)) || 1'); assert('($name_a = A::class) || 1'); assert('($name_b = B::class) || 1'); var_dump($test1, $test2); var_dump(A::class, $name_a); var_dump(B::class, $name_b); Expected result: ---------------- bool(true) bool(true) string(6) "Test\A" string(6) "Test\A" string(6) "Test\B" string(6) "Test\B" Actual result: -------------- bool(true) bool(false) string(6) "Test\A" string(1) "A" string(6) "Test\B" string(1) "B"