wp-forge/fluent

用于WordPress的Laravel Fluent类的一个实例。

1.0.1 2022-08-26 17:38 UTC

This package is auto-updated.

Last update: 2024-09-26 22:12:33 UTC


README

一个PHP实用类,允许以更灵活的方式获取和设置数据。

安装

composer require wp-forge/fluent

用法

设置值

从现有数组、对象或可迭代对象中填充数据

<?php

use WP_Forge\Fluent\Fluent;

// Populate using an array
$fluent = new Fluent( [ 'a' => 1 ] );

var_dump( $fluent->toJson() ); // {"a":1}

// Populate using an object
$fluent = new Fluent( (object) [ 'b' => 2 ] );

var_dump( $fluent->toJson() ); // {"b":2}

// Populate using an iterable
$fluent = new Fluent( (function () { yield 1; yield 2; })() );

var_dump( $fluent->toJson() ); // [1,2]

使用数组语法设置值

<?php

$fluent = new \WP_Forge\Fluent\Fluent();

$fluent['isActive'] = true;

var_dump( $fluent->toJson() ); // {"isActive":true}

使用属性语法设置值

<?php

$fluent = new \WP_Forge\Fluent\Fluent();

$fluent->isActive = true;

var_dump( $fluent->toJson() ); // {"isActive":true}

使用set()方法设置值

<?php

$fluent = new \WP_Forge\Fluent\Fluent();

$fluent->set('isActive', true);

var_dump( $fluent->toJson() ); // {"isActive":true}

通过调用不存在的方法设置值

<?php

$fluent = new \WP_Forge\Fluent\Fluent();

$fluent->isActive(); // Will set to true by default

var_dump( $fluent->toJson() ); // {"isActive":true}

$fluent->isActive( false );

var_dump( $fluent->toJson() ); // {"isActive":false}

获取值

使用数组语法获取值

<?php

$fluent = new \WP_Forge\Fluent\Fluent( ['isActive' => true] );

var_dump( $fluent['isActive'] ); // true

使用属性语法获取值

<?php

$fluent = new \WP_Forge\Fluent\Fluent( ['isActive' => true] );

var_dump( $fluent->isActive ); // true

使用get()方法获取值

<?php

$fluent = new \WP_Forge\Fluent\Fluent( ['isActive' => true] );

var_dump( $fluent->get( 'isActive' ) ); // true

// Since "isRegistered" doesn't exist, it returns the defined default value instead
var_dump( $fluent->get( 'isRegistered', 'Ask again later' ) ); // Ask again later

使用特殊方法获取所有数据

<?php

use WP_Forge\Fluent\Fluent;

$fluent = new Fluent( ['a' => 1] );

$fluent->toArray(); // Returns all data as an array
$fluent->toJson(); // Returns all data as JSON

检查键是否存在

使用数组语法

<?php

use WP_Forge\Fluent\Fluent;

$fluent = new Fluent( ['a' => 1] );

var_dump( isset( $fluent['a'] ) ); // true
var_dump( isset( $fluent['b'] ) ); // false

使用属性语法

<?php

use WP_Forge\Fluent\Fluent;

$fluent = new Fluent( ['a' => 1] );

var_dump( isset( $fluent->a ) ); // true
var_dump( isset( $fluent->b ) ); // false

使用has()方法

<?php

use WP_Forge\Fluent\Fluent;

$fluent = new Fluent( ['a' => 1] );

var_dump( $fluent->has( 'a' ) ); // true
var_dump( $fluent->has( 'b' ) ); // false

删除值

使用数组语法

<?php

use WP_Forge\Fluent\Fluent;

$fluent = new Fluent( ['a' => 1] );

unset( $fluent['a'] );

var_dump( $fluent->toJson() ); // []

使用属性语法

<?php

use WP_Forge\Fluent\Fluent;

$fluent = new Fluent( ['a' => 1] );

unset( $fluent->a );

var_dump( $fluent->toJson() ) ); // []

使用delete()方法

<?php

use WP_Forge\Fluent\Fluent;

$fluent = new Fluent( ['a' => 1] );

$fluent->delete( 'a' );

var_dump( $fluent->toJson() ); // []