一个轻量级的PHP库,用于将数据映射到PHP类

1.2.0 2016-11-06 08:22 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:42:14 UTC


README

Build Status

Drift是一个PHP库,用于将任意数据映射到PHP类。

安装

Drift可在Packagist上找到,因此您可以使用composer;

composer require kevbradwick/drift

使用方法

假设您有一个具有私有成员变量的类,如下所示;

namespace Application;

class Actor
{
    /**
     * @Drift\String()
     */
    private $name;
    
    /**
     * @Drift\Int()
     */
    private $age;
    
    /**
     * @Drift\Date(field="date_of_birth")
     */
    private $dateOfBirth;
}

并且您有一些数据,可能来自API,看起来像这样;

$data = [
    'name' => 'Arnold Schwarzenegger',
    'age' => 68,
    'date_of_birth' => 'July 30, 1947'
]

然后您可以使用Drift\Mapper来创建一个新实例的类,并使用数据初始化。

use Drift\Mapper;
use Drift\Reader\AnnotationReader;
use Application\Actor;

$mapper = new Mapper(new AnnotationReader());
$mapper->setData($data);

$actor = $mapper->instantiate(Actor::class);

除了注释之外,您还可以使用Yaml或纯PHP指定映射。

完整文档可在Wiki上找到。