SplBean

用途

用于定义表结构,过滤掉无效字段数据。

如何使用

<?php
/**
 * Created by PhpStorm.
 * User: root
 * Date: 19-1-9
 * Time: 上午10:10
 */

require './vendor/autoload.php';

class Apple extends \EasySwoole\Spl\SplBean {
    protected $name;
    protected $price;
    protected $number;

    protected function setKeyMapping(): array
    {
        return ['price' => 'as'];
    }
}

$apple = new Apple(['name' => 'test', 'price' => 12, 'number' => 12, 'age' => 2], true);
print_r($apple->toArray());
print_r($apple->toArrayWithMapping());
echo '---------------------------------------'.PHP_EOL;
$apple->restore(['name' => 'blank', 'price' => 12, 'number' => 12]);
print_r($apple->toArray());
print_r($apple->toArrayWithMapping());

/**
 * 输出结果:
 * Array
 * (
 *     [name] => test
 *     [price] => 12
 *     [number] => 12
 *     [age] => 2
 * )
 * Array
 * (
 *     [name] => test
 *     [number] => 12
 *     [age] => 2
 *     [as] => 12
 * )
 * ---------------------------------------
 * Array
 * (
 *     [name] => blank
 *     [price] => 12
 *     [number] => 12
 * )
 * Array
 * (
 *     [name] => blank
 *     [number] => 12
 *     [as] => 12
 * )
 */

核心对象方法

核心类:EasySwoole\Spl\SplBean。

__construct

构造函数,初始化bean数据

  • array $data 数据
  • mixed $autoCreateProperty 是否过滤非类成员变量成员数据

public function __construct(array $data = null,$autoCreateProperty = false)

allProperty

获取类所有的public和protected 成员变量

final public function allProperty()

toArray

过滤并转换程数组数据

  • array $columns 要过滤的字段数据
  • mixed $filter 过滤满足某种条件的数据

function toArray(array $columns = null,$filter = null)

toArrayWithMapping

获取过滤后带有字段别名的数组数据

  • array $columns 要过滤的字段数据
  • mixed $filter 过滤满足某种条件的数据

function toArrayWithMapping(array $columns = null,$filter = null)

arrayToBean

设置类属性

  • array $data 数据
  • mixed $autoCreateProperty 是否创建非类成员变量

final private function arrayToBean(array $data,$autoCreateProperty = false):SplBean

addProperty

设置类成员变量

  • mixed $name 成员变量名字
  • mixed $value 成员变量值

final public function addProperty($name,$value = null):void

getProperty

获取类成员变量值

  • mixed $name 成员变量名字

final public function getProperty($name)

jsonSerialize

获取类成员变量集合

final public function jsonSerialize():array

initialize

初始化操作

protected function initialize()

setKeyMapping

设置keyMapping关系,也就是字段别名

protected function setKeyMapping()

setClassMapping

设置classMapping关系,也就是关联类

protected function setClassMapping()

restore

重新初始化bean数据

  • array $data 数据
  • mixed $autoCreateProperty 是否过滤非类成员变量成员数据

public function restore(array $data = [], $autoCreateProperty = false)

classMap

绑定关联类

private function classMap()

results matching ""

    No results matching ""