[PHP-BUG] Req #76083 [NEW]: Add an ::interface magic constant similar to ::class

[email protected] ("tpenepete at gmail dot com") Mon, 12 Mar 2018 16:07:12 GMT
Newsgroups php.standards
Message-ID <[email protected]>
From:             tpenepete at gmail dot com
Operating system: All
PHP version:      7.2.3
Package:          PHP Language Specification
Bug Type:         Feature/Change Request
Bug description:Add an ::interface magic constant similar to ::class

Description:
------------
---
From manual page:
http://www.php.net/language.oop5.interfaces
http://php.net/manual/en/language.oop5.basic.php#language.oop5.basic.class.class
---


Test script:
---------------
<?php
namespace Foo;

interface Bar
{

}

class SomeClass implements Bar
{

}

Expected result:
----------------
<?php
use Foo\Bar;
use Foo\SomeClass;

if(isset(class_implements(SomeClass::class)[Bar::interface]))) {
    echo 'Yupee!';
} else {
    echo 'Ugh :(';
}
?>

Expected output:
Yupee!

Actual result:
--------------
Undefined constant

-- 
Edit bug report at https://bugs.php.net/bug.php?id=76083&edit=1
-- 
Try a snapshot (PHP 5.4):   https://bugs.php.net/fix.php?id=76083&r=trysnapshot54
Try a snapshot (PHP 5.5):   https://bugs.php.net/fix.php?id=76083&r=trysnapshot55
Try a snapshot (trunk):     https://bugs.php.net/fix.php?id=76083&r=trysnapshottrunk
Fixed in SVN:               https://bugs.php.net/fix.php?id=76083&r=fixed
Fixed in release:           https://bugs.php.net/fix.php?id=76083&r=alreadyfixed
Need backtrace:             https://bugs.php.net/fix.php?id=76083&r=needtrace
Need Reproduce Script:      https://bugs.php.net/fix.php?id=76083&r=needscript
Try newer version:          https://bugs.php.net/fix.php?id=76083&r=oldversion
Not developer issue:        https://bugs.php.net/fix.php?id=76083&r=support
Expected behavior:          https://bugs.php.net/fix.php?id=76083&r=notwrong
Not enough info:            https://bugs.php.net/fix.php?id=76083&r=notenoughinfo
Submitted twice:            https://bugs.php.net/fix.php?id=76083&r=submittedtwice
register_globals:           https://bugs.php.net/fix.php?id=76083&r=globals
PHP 4 support discontinued: https://bugs.php.net/fix.php?id=76083&r=php4
Daylight Savings:           https://bugs.php.net/fix.php?id=76083&r=dst
IIS Stability:              https://bugs.php.net/fix.php?id=76083&r=isapi
Install GNU Sed:            https://bugs.php.net/fix.php?id=76083&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=76083&r=float
No Zend Extensions:         https://bugs.php.net/fix.php?id=76083&r=nozend
MySQL Configuration Error:  https://bugs.php.net/fix.php?id=76083&r=mysqlcfg