strakez / entity-decorator-api
实现装饰器模式,以访问和自定义对实体属性和方法的有类型访问
v1.0.0-beta
2024-01-22 21:34 UTC
Requires
- php: >=8.1
Requires (Dev)
- drupal/core: ^9.5 || ^10
- drupal/devel: ^5.1
- drush/drush: ^11 || ^12
- phpunit/phpunit: ^9
- psr/log: 3.x-dev
- squizlabs/php_codesniffer: 4.0.x-dev
This package is auto-updated.
Last update: 2024-09-09 00:24:48 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的乐趣,如果您有任何评论或改进建议,请随时提交。谢谢!