saeedncc / object-mapper
此包的最新版本(v1.0.1)没有可用的许可信息。
从ymal文件生成PHP对象映射器
v1.0.1
2023-01-21 15:52 UTC
This package is not auto-updated.
Last update: 2024-09-29 21:46:12 UTC
README
安装
使用以下命令通过Composer安装此包
composer require saeedncc/object-mapper
如何使用
定义自定义对象对应的ymal文件,如下所示
userinfo.yml
property:
- name: 'id'
map: 'identify'
type: 'integer'
- name: 'frist_name'
map: 'name'
type: 'string'
- name: 'last_name'
map: 'lastname'
type: 'string'
- name: 'age'
map: 'old'
type: 'integer'
- name: 'address'
map: 'address'
type: 'string'
- name: 'info'
map: 'information'
type: 'object'
property:
- name: 'mobile'
map: 'mobilenumber'
type: 'string'
- name: 'tel'
map: 'telphon'
type: 'string'
- name: 'email'
map: 'mail'
type: 'string'
获取来自外部API或其他源响应的JSON或XML,并将其转换为对象
require 'vendor/autoload.php'; use \saeedncc\ObjectMapper\ObjectMapper; $pathYmal='./yaml/userinfo.yml'; $xml = <<<XML <?xml version='1.0'?> <document> <identify>125</identify> <name>tom</name> <lastname>jordan</lastname> <old>20</old> <address>north bahar st</address> <information> <mobilenumber>085236125</mobilenumber> <telphon>52634855</telphon> <mail>tom@gmail.com</mail> </information> </document> XML; $object=ObjectMapper::map($pathYmal,$xml); print_r($object); stdClass Object ( [id] => 125 [frist_name] => tom [last_name] => jordan [age] => 20 [address] => north bahar st [info] => stdClass Object ( [mobile] => 085236125 [tel] => 52634855 [email] => tom@gmail.com ) ) $json='{"identify":"125","name":"tom","lastname":"jordan","old":"20","address":"north bahar st","information":{"mobilenumber":"085236125","telphon":"52634855","mail":"tom@gmail.com"}}'; $object=ObjectMapper::map($pathYmal,$json); print_r($object); stdClass Object ( [id] => 125 [frist_name] => tom [last_name] => jordan [age] => 20 [address] => north bahar st [info] => stdClass Object ( [mobile] => 085236125 [tel] => 52634855 [email] => tom@gmail.com ) )