我正在使用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:语法错误,意外'['
答案 0 :(得分:1)
没有$this
,它是一个界面。
你需要使用它:
$r = status::status['confirm'];
// ^ ^
// | constant name
// interface name
//
echo $r;
尽管它可能很奇怪,但接口支持常量,如here: php constants所述
在PHP 5.5中,你不能将array
作为常量
您可以查看https://3v4l.org/JbdJa并查看它作为接口调用或实现该接口的类内部