triniti/sys

此包已被放弃,不再维护。作者建议使用 triniti/core 包。

一个PHP库,提供了对 triniti:sys 模式的实现。

v1.0.1 2019-09-03 22:01 UTC

This package is auto-updated.

Last update: 2021-06-16 23:18:10 UTC


README

Build Status Code Climate Test Coverage

一个PHP库,提供了对 triniti:sys 模式的实现。使用此库假定您已使用 Pbjc 创建和编译了自己的 pbj 类,并正在使用 triniti/schemas 中的 "triniti:sys:mixin:*" 混合。

Symfony 集成

在 Symfony 应用中启用这些服务是通过导入类并让 Symfony 自动配置和自动注入它们来完成的。

config/packages/sys.yml

services:
  _defaults:
    autowire: true
    autoconfigure: true
    public: false

  Triniti\Sys\:
    resource: '%kernel.project_dir%/vendor/triniti/sys/src/**/*'
    bind:
      $flagset: '%app_vendor%:flagset:%kernel.environment%-%app_name%'

Twig 扩展

此库提供了一个扩展,可以访问标志集值。假设每个应用有一个标志集,例如 acme:flagset:prod-web

可用函数

  • flags_get_all() - 返回标志集本身,可以被json编码或像任何其他pbj实例一样使用。
  • flags_get_boolean(flag, default = false)
  • flags_get_float(flag, default = 0.0)
  • flags_get_int(flag, default = 0)
  • flags_get_string(flag, default = '')
  • flags_get_trinary(flag, default = 0)

如果在使用 Symfony 自动注入,则 Twig 扩展将自动可用。