SplBean
用于定義表結(jié)構(gòu),過濾掉無效字段數(shù)據(jù)。
相關(guān)class位置
- SplBean
-
namespace
:EasySwoole\Spl\SplBean
-
SplBean相關(guān)方法
方法列表
方法名稱 | 參數(shù) | 說明 | 備注 |
---|---|---|---|
__construct | array $data = null,$autoCreateProperty = false | 構(gòu)造函數(shù),初始化bean數(shù)據(jù) | |
allProperty | 過濾并轉(zhuǎn)換成數(shù)組數(shù)據(jù) | ||
toArray | array $columns = null,$filter = null | 轉(zhuǎn)字符 | |
toArrayWithMapping | array $columns = null,$filter = null | 獲取過濾后帶有字段別名的數(shù)組數(shù)據(jù) | |
arrayToBean | array $data,$autoCreateProperty = false | 設(shè)置類屬性 | |
addProperty | $name,$value = null | 設(shè)置類成員變量 | |
getProperty | $name | 獲取類成員變量值 | |
jsonSerialize | 獲取類成員變量集合 | ||
initialize | 初始化操作 | ||
setKeyMapping | 設(shè)置keyMapping關(guān)系,也就是字段別名 | ||
setClassMapping | 設(shè)置classMapping關(guān)系,也就是關(guān)聯(lián)類 | ||
restore | array $data = [], $autoCreateProperty = false | 重新初始化bean數(shù)據(jù) | |
classMap | 綁定關(guān)聯(lián)類 |
基本使用
/**
*
* User: LuffyQAQ
* Date: 2019/10/16 16:45
* Email: <1769360227@qq.com>
*/
include "./vendor/autoload.php";
use EasySwoole\Spl\SplBean;
class TestBean extends SplBean
{
public $a = 2;
protected $b;
private $c;
protected $d_d;
protected function setKeyMapping(): array
{
return [
'd-d' => "d_d"
];
}
}
$bean = new TestBean([
'a'=>'a',
'b'=>'b',
'c'=>'c',
'd_d'=>'d_d'
]);
var_dump($bean->allProperty());
$data = $bean->toArray(null, function ($a) {
if (in_array($a, ['d_d'])) {
return $a;
}
});
$bean = new TestBean([
'a'=>1,
'b'=>2,
'c'=>3,
'd_d'=>4
]);
$data = $bean->toArrayWithMapping(['a', 'b', 'd-d'], function ($val) {
return $val;
});
var_dump($data);
var_dump($bean->toArrayWithMapping(['a','d-d']));
$bean = new TestBean();
$bean->addProperty('a', 'es');
$bean->addProperty('b', 'es');
$bean->addProperty('d_d', 'es');
var_dump($bean->toArray());
var_dump($bean->getProperty('a'));
var_dump( $bean->jsonSerialize());
var_dump($bean->restore()->toArray());