不工作的数组接口到PHP

时间:2017-07-14 08:02:37

标签: php laravel-5.2

我正在使用Laravel框架和版本的PHP 5.5.12

<?php
namespace App\pattern;

interface status 
 { 

    const status = array( 
            "confirm"=> 1
            ,"unconfirm"=> 2
           ,"record"=> 3
   );
}

使用后的课程

$r = $this::status['confirm'];

显示错误

  

ContentController.php第19行中的FatalErrorException:语法错误,意外'['

1 个答案:

答案 0 :(得分:1)

没有$this,它是一个界面。

你需要使用它:

$r = status::status['confirm'];
//     ^        ^ 
//     |        constant name 
//  interface name
//
echo $r;

尽管它可能很奇怪,但接口支持常量,如here: php constants所述

在PHP 5.5中,你不能将array作为常量

您可以查看https://3v4l.org/JbdJa并查看它作为接口调用或实现该接口的类内部