joomla / compat
Joomla 兼容包
1.2.0
2015-02-24 00:21 UTC
Requires
- php: >=5.3.10
README
这是一个简单的包,其中包含注册到全局命名空间的前向兼容类和接口
已弃用
由于 joomla/compat
包已被弃用,因此不再计划进行更新。
JsonSerializable
JsonSerializable
是 PHP 5.4 接口,允许您在将实现该接口的对象 json_encode
编码为 JSON 时指定要序列化的数据。
用法
由于这是一个 PHP 5.4 接口,当在 5.3 中使用时,jsonSerialize()
方法在将类的实例 json_encode
编码时不会自动调用。为了解决这个问题,只需在将其传递给 json_encode
时直接调用 jsonSerialize()
方法。这与 PHP 5.4 兼容。
注意,在某些 Debian 版本的 PHP 5.5 中,接口也缺失(见 http://stackoverflow.com/questions/18239405/php-fatal-error-call-to-undefined-function-json-decode),这也需要包含此接口。
class MyClass implements \JsonSerializable { /** * @var array Holds the data this class uses. */ protected $data; public function __construct(array $data) { $this->data = $data; } public function jsonSerialize() { return $this->data; } } $obj = new MyClass(array('sample', 'data', 'to', 'encode')); $encoded = json_encode($obj->jsonSerialize());
通过 Composer 安装
将 "joomla/compat": "~1.0"
添加到 composer.json 中的 require 块,然后运行 composer install
。
{ "require": { "joomla/compat": "~1.0" } }
或者,您可以直接从命令行运行以下命令
composer require joomla/compat "~1.0"