定制 kosmosafive/bitrix-ds 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

kosmosafive/bitrix-ds

最新稳定版本:1.6.0

Composer 安装命令:

composer require kosmosafive/bitrix-ds

包简介

Структуры данных

README 文档

README

Collection

Типизированная коллекция

При использовании статических анализаторов (например, Psalm, PHPStan) можно использовать только комментарии. Если необходимо ограничивать выполнение кода в runtime, необходимо явно выбрасывать исключение.

Ниже приведен пример реализации типизированной коллекции, метод add.

use Kosmosafive\Bitrix\DS\Collection;
use InvalidArgumentException;

class Entity
{

}

/**
 * @template-extends Collection<Entity>
 */
class EntityCollection extends Collection
{
    /**
     * @param Entity $value
     * @return EntityCollection
     */
    public function add(mixed $value): EntityCollection
    {
        if (!$value instanceof Entity) {
            throw new InvalidArgumentException("This collection only accepts instances of " . Entity::class);
        }
    
        return parent::add($value);
    }
}

Request

Используется для фильтрации и валидации данных от клиента.

Для валидации можно использовать внешний сервис.

use Kosmosafive\Bitrix\DS\Request;

readonly class GetRequest extends Request
{
    #[Required]
    protected ?Uuid $id;
    
    public function __construct(\Bitrix\Main\Request $httpRequest)
    {
        $this->id = $this->filterUuid($httpRequest->get('id'));
    }
    
    public function getId(): ?Uuid
    {
        return $this->id;
    }
}

$getRequest = new GetRequest($this->getRequest());
$validateResult = $getRequest->validate();

统计信息

  • 总下载量: 94
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 3
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Apache-2.0
  • 更新时间: 2025-09-15

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固