在 Windows 10 上找不到 PHP 5.6.8 JsonSerialized 接口(interface)

标签 php json

我正在尝试在下面的类上实现 JsonSerialized 接口(interface):

class PostoGraduacao implements JsonSerializable
 {
    private $index;
    private $abbreviation;
    private $rank;

    public function __construct($index, $abbreviation, $rank){
        $this->index = $index;
        $this->abbreviation = $abbreviation;
        $this->rank = $rank;
    }

    public function jsonSerialize()
    {
        return[
            'index' => $this->index,
            'abbreviation' => $this->abbreviation,
            'rank' => $this->rank
        ];
    }
}

我的 PHP 版本:

C:\>php -v
PHP 5.6.8 (cli) (built: Apr 15 2015 15:07:09)
Copyright (c) 1997-2015 The PHP Group

错误:

 Fatal error: Interface 'PostoGraduacao\Model\JsonSerializable' not found inC:\Projetos\RESTServices\src\PostoGraduacao\model\PostoGraduacao.php on line 11

最佳答案

你需要做:

class PostoGraduacao implements \JsonSerializable

从错误消息中可以看到PHP正在寻找:

PostoGraduacao\Model\JsonSerializable

这是因为您的类位于 PostoGraduacao\Model 命名空间内。使用 \JsonSerialized 告诉 PHP 在全局命名空间中查找。

关于在 Windows 10 上找不到 PHP 5.6.8 JsonSerialized 接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37349099/

相关文章:

php - PHP 中 ASP.NET 用户控件的替代方案?

php - 未定义索引 : user_id. 其中,user_id 是 session 变量

java - 如何将 json 对象存储到 hibernate 数据库字段

json - 从空的 Payload 结构中获取字段

php - 正则表达式示例

php - 如何使用 php 打印 json 响应

javascript - json 解析包含特殊字符的字符串时出现意外标记错误

json - NSJSONSerialization.JSONObjectWithData 泄漏内存

php - 选择表中的所有行,除非另一个表中具有相同 id 的行在另一列中具有特定值

c# - 使用操作将表单参数发送到 Web 服务