marcosadantas/sped-container

是一个用于在容器中序列化sped的库

1.7.7 2018-07-27 19:19 UTC

This package is auto-updated.

Last update: 2024-09-15 11:21:10 UTC


README

这个库是一个用于存储随机数据的容器,其中一边定义了规则,另一边则是数据,它将尝试在相应的数据上执行这些规则。

安装
composer require marcosadantas/sped-container
感兴趣类
AbstractAttribute
SpedContainer
属性接口
SpedAttribute
如何使用
$data = [
  'produto' => [
    'nome' => 'Produto PHP'
  ]
];

class ProdutoAttribute extends AbstractAttribute implements SpedAttribute 
{
   // O container fará a injeção automaticamente
    __invoke(array $items, OutroAttributo $instancia);
}

$regras = [
  ProdutosAttribute::class
]

$spedContainer = new SpedContainer($regras, $data);
$spedContainer->execute();
性能

该容器使用基于反射的解决方案,因此实现了getConfigCache方法,它将返回当前配置的数组。如果将其保存在文件中,性能将显著提高。

注入

基本上,所有属性都只能在执行了它们的“规则”后才能使用。然而,在注入容器之前,它会确保并执行此操作。

AbstractAttribute

在实现接口时有一些需求,这个抽象类将解决其中大部分需求,它还默认实现了使用特质的用法。

Precision - numeros precisos
SanitizeString - limpeza de string
DateFormat - Formatação para UTC