PHPackages                             phakpoom/settings-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. phakpoom/settings-bundle

ActiveSymfony-bundle[Utility &amp; Helpers](/categories/utility)

phakpoom/settings-bundle
========================

Just a Symfony settings bundle.

2.2.6(8mo ago)05.6k↓33.3%MITPHPPHP &gt;=7.2 || &gt;=8.0

Since Oct 5Pushed 8mo agoCompare

[ Source](https://github.com/phakpoom/settings-bundle)[ Packagist](https://packagist.org/packages/phakpoom/settings-bundle)[ Docs](https://github.com/phakpoom/settings-bundle)[ RSS](/packages/phakpoom-settings-bundle/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (8)Versions (21)Used By (0)

PhpMob Settings
===============

[](#phpmob-settings)

[![Build Status](https://camo.githubusercontent.com/225463f3460e26a16b646ba9b2f9806f36258f126c0132d47434bea4701e6e57/68747470733a2f2f7472617669732d63692e6f72672f7068616b706f6f6d2f73657474696e67732d62756e646c652e7376673f6272616e63683d6d6173746572)](https://travis-ci.com/github/phakpoom/settings-bundle/)

Just a Settings Library.

Installation
------------

[](#installation)

Install via composer.

```
$ composer require phpmob/settings-bundle
```

Using with cache

```
$ composer require cache/filesystem-adapter
```

Now you can use built-in `\PhpMob\Settings\Manager\CachedManager`.

Alternative using built-int symfony framework cache see - [framework/cache](https://symfony.com/doc/current/reference/configuration/framework.html#reference-cache)

Sample config
-------------

[](#sample-config)

```
# use with doctrine orm
doctrine:
    orm:
        mappings:
            PhpMobSettings:
                type: xml
                is_bundle: false
                prefix: PhpMob\Settings\Model
                dir: '%kernel.project_dir%/vendor/phpmob/settings-bundle/src/Resources/config/doctrine/model'

phpmob_settings:
    cache:
        service: cache.flysystem
    schemas:
        section1:
            label: Section1
            settings:
                key1: ~
        section2:
            label: Section2
            settings:
                key1:
                    value: key1Value
                key2:
                    label: SectionKey2
                    value: key2value
                    blueprint:
                        options:
                            label: SectionKey2Label
                        constraints:
                            NotBlank: ~
                gender:
                    label: Gender
                    value: f
                    blueprint:
                        type: Symfony\Component\Form\Extension\Core\Type\ChoiceType
                        options:
                            required: true
                            choices:
                                Man: m
                                Feman: f
                birthday:
                    type: date
                    label: Birthday
                    value: "1988-02-10"
                    blueprint:
                        type: Symfony\Component\Form\Extension\Core\Type\BirthdayType
                datetime:
                    type: datetime
                    label: DateTime
                    value: ~
                    blueprint:
                        type: Symfony\Component\Form\Extension\Core\Type\DateTimeType
```

Ownered settings
----------------

[](#ownered-settings)

Configuration for owner (user) aware settings. Controller used `PhpMobSettingsBundle:Update:userUpdate`.

```
phpmob_settings:
    schemas:
        section1:
            owner_aware: true
            label: Section1
            settings:
                key1: ~
```

Updater Routing
---------------

[](#updater-routing)

See example routing in `src/Resources/config/routing.xml` or you can customize with:

```
your_route_name:
    path: /settings/{section}
    defaults:
        _controller: PhpMobSettingsBundle:Update:globalUpdate
        _template: @yourtemplate # default @PhpMobSetting/default.html.twig
        _flash: ~ # flash message after update
        _redirect: ~ # redirect after update
```

Custom form type to display `description` setting in form view.
---------------------------------------------------------------

[](#custom-form-type-to-display-description-setting-in-form-view)

```
