定制 johnkrovitch/configuration 二次开发

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

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

johnkrovitch/configuration

最新稳定版本:v2.2

Composer 安装命令:

composer require johnkrovitch/configuration

包简介

Configuration abstract class for Symfony projects

README 文档

README

Configuration class for Symfony projects. This package allows you to manipulate immutable configuration object. You can add your custom getters to improve parameters php type, or you the default generic getters.

Installation

composer install johnkrovitch/configuration

v2.0: For Symfony 5.1+

v1.0: For Symfony 3.4, 4.4

Usage

Create a configuration class.

<?php

use JK\Configuration\Configuration;
use Symfony\Component\OptionsResolver\OptionsResolver;

class MyConfiguration extends Configuration 
{
    public function configureOptions(OptionsResolver $resolver): void {
        // Configure your options resolver here 
        $resolver->setDefaults([
            'panda' => 'bamboo',
        ]);
    }
}

Use it in your service for example :

<?php

use MyConfiguration;

class MyService {
    
    public function myMethod(array $options): void
    {
        $configuration = new MyConfiguration();
        $configuration->configure($options);

        $configuration->get('panda'); // "bamboo"
        $configuration->has('panda'); // true
        $configuration->toArray(); // ['panda' => 'bamboo']        
    }

}

You can also provide a options resolver :

use MyConfiguration;
use Symfony\Component\OptionsResolver\OptionsResolver;

class MyService {
    
    public function myMethod(array $options): void
    {
        $configuration = new MyConfiguration();
        $resolver = new OptionsResolver();
    
        // Do something with the resolver
        // $resolver->setDefaults('...');

        // Pass your custom resolver
        $configuration->configure($options, $resolver);

        $configuration->get('panda'); // Returns "bamboo"
        $configuration->has('panda'); // Returns true
        $configuration->toArray(); // Returns ['panda' => 'bamboo']        
    }

}

OptionsResolver

The Configuration use the Symfony OptionsResolver component

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2017-02-15