|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2012-09-18 15:57 UTC] laruence@php.net
-Assigned To:
+Assigned To: dmitry
[2012-09-18 15:57 UTC] laruence@php.net
[2012-09-18 16:09 UTC] laruence@php.net
[2012-09-21 11:17 UTC] dmitry@php.net
-Status: Assigned
+Status: Closed
[2012-09-21 11:17 UTC] dmitry@php.net
[2014-10-07 23:22 UTC] stas@php.net
[2014-10-07 23:33 UTC] stas@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 29 10:00:01 2025 UTC |
Description: ------------ The function is_callable() says, that abstract static method _IS_ callable. But it is abstract, it has no body. abstract class Foo { abstract static function bar(); } # PHP Strict Standards: Static function Foo::bar() should not be abstract # is Foo::bar() callable? var_dump( is_callable(array("Foo", "bar")) ); # bool(true) # O_o Ok, let's try... Foo::bar(); # Fatal error: Cannot call abstract method Foo::bar() Yes, I see a Strict. Anyway, is_callable() lies. I have checked this in 5.3.10, 5.3.6 and 5.2.17. Test script: --------------- abstract class Foo { abstract static function bar(); } var_dump( is_callable(array("Foo", "bar")) ); Foo::bar(); Expected result: ---------------- bool(false) Fatal error Actual result: -------------- bool(true) Fatal error