交接 / pop-data
Pop PHP 框架的 Pop Data 组件,这是一个副本版本。
2.1.0p2
2017-07-26 07:19 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- phpunit/phpunit: 4.6.*
Suggests
- ext-yaml: To use the Yaml conversion adapter.
Conflicts
- popphp/php-data: *
README
已停止维护
版本 2.1.0 的 pop-data 组件现在已停止维护。CSV 子组件已被分支并推入其自己的仓库
- popphp/pop-csv
概览
pop-data 提供了一种简化的方式来转换常见的数据类型。使用它,你可以轻松地给它一些原生的 PHP 数据,并快速将其转换为常见数据类型的序列化版本,例如 CSV、JSON、SQL、XML 或 YAML。或者相反,你可以给它一些序列化数据,它将自动检测格式并将其转换为原生 PHP 数据。
pop-data 是 Pop PHP 框架 的一个组件。
安装
使用 Composer 安装 pop-data。
composer require popphp/pop-data
基本用法
序列化数据
$phpData = [ [ 'first_name' => 'Bob', 'last_name' => 'Smith' ], [ 'first_name' => 'Jane', 'last_name' => 'Smith' ] ]; $data = new Pop\Data\Data($phpData); $csvString = $data->serialize('csv'); $jsonString = $data->serialize('json'); $sqlString = $data->serialize('sql'); $xmlString = $data->serialize('xml'); $yamlString = $data->serialize('yaml');
$csvString 变量现在包含
first_name,last_name
Bob,Smith
Jane,Smith
$jsonString 变量现在包含
[
{
"first_name": "Bob",
"last_name": "Smith"
},
{
"first_name": "Jane",
"last_name": "Smith"
}
]
$sqlString 变量现在包含
INSERT INTO data (first_name, last_name) VALUES
('Bob', 'Smith'),
('Jane', 'Smith');
$xmlString 变量现在包含
<?xml version="1.0" encoding="utf-8"?>
<data>
<row>
<first_name>Bob</first_name>
<last_name>Smith</last_name>
</row>
<row>
<first_name>Jane</first_name>
<last_name>Smith</last_name>
</row>
</data>
$yamlString 变量现在包含
---
- first_name: Bob
last_name: Smith
- first_name: Jane
last_name: Smith
...
反序列化数据
你可以传递给数据对象一个直接的序列化数据字符串或包含序列化数据字符串的文件。它将检测它是哪一个并相应地解析。
字符串
$csv = new Pop\Data\Data($csvString); $phpData = $csv->unserialize();
文件
$xml = new Pop\Data\Data('/path/to/file.xml'); $phpData = $xml->unserialize();
在数据类型之间转换
$csv = new Pop\Data\Data($csvString); $xml = $csv->convert('xml');
写入文件
$phpData = [ ... ]; $data = new Pop\Data\Data($phpData); $data->serialize('csv'); $data->writeToFile('/path/to/file.csv');
输出到 HTTP
$phpData = [ ... ]; $data = new Pop\Data\Data($phpData); $data->serialize('csv'); $data->outputToHttp();
强制下载文件
$phpData = [ ... ]; $data = new Pop\Data\Data($phpData); $data->serialize('csv'); $data->outputToHttp('my-file.csv', true);
注意
此副本用作遗留库。