strakez/entity-decorator-api

实现装饰器模式,以访问和自定义对实体属性和方法的有类型访问

安装: 18

依赖: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:drupal-module

v1.0.0-beta 2024-01-22 21:34 UTC

README

实现装饰器模式以访问和自定义实体的属性和方法,同时可选择强类型返回值。

安装

composer require strakez/drupal-entity-decorator

要求

  • PHP 8.1+
  • Drupal 10+

目的

提供了一种简单的方法来检索和显示实体数据,并解决了一些在处理实体时遇到的挑战。这种装饰器模式的实现将实体包装起来,并为与实体交互提供定制方法。

请注意,这仅公开了用于其他模块的类,本身不提供任何Drupal功能。除非专门实现,否则UI上不会显示任何内容。

使用方法

$id = 1;
$node = NodeDecorator::load($id); // Collection

$node->id(); // 1
$node->get('title'); // 'My First Node'
$node->get('sticky'); // false

有关使用和扩展装饰器的信息,请参阅装饰器文档

有关技巧和最佳实践,请参阅技巧 & 最佳实践部分。

处理集合

同时加载多个装饰器时,数据将表示为集合。与简单数组相比,这提供了一些优势,因为可以轻松地对这些数据进行排序、修改、计数和索引。

$set = NodeDecorator::loadByOwned($user); // Collection

有关更多信息,请参阅集合文档

结语

请享受使用此API的乐趣,如果您有任何评论或改进建议,请随时提交。谢谢!