PHPackages                             phpmob/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. phpmob/settings-bundle

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

phpmob/settings-bundle
======================

Just a Symfony settings bundle.

1.2.2(7y ago)5112.5k↓50%1[1 issues](https://github.com/phpmob/settings-bundle/issues)1MITPHPPHP ^7.1

Since Oct 5Pushed 5y ago2 watchersCompare

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

READMEChangelog (5)Dependencies (9)Versions (6)Used By (1)

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

[](#phpmob-settings)

[![Scrutinizer Code Quality](https://camo.githubusercontent.com/b8e0f528a29fb99ae5faaebaba98e5f76e27e5a8d4251cedfce37fc51df29127/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f7068706d6f622f73657474696e67732f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/phpmob/settings/?branch=master)[![Code Coverage](https://camo.githubusercontent.com/2fdad92d62de7eab6290cab25c5376657811546f1ebcd7c5b59a19e5922f1564/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f7068706d6f622f73657474696e67732f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/phpmob/settings/?branch=master)[![Build Status](https://camo.githubusercontent.com/377480c8c8e438e1b7a612fe1b20269daf8842ae06491ef858e41634d1ff7e4c/68747470733a2f2f7472617669732d63692e6f72672f7068706d6f622f73657474696e67732e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/phpmob/settings)[![Latest Stable Version](https://camo.githubusercontent.com/dcbce5a031100103ef29780c3b074479f4ddca3549afd7f45956391cb4282b69/68747470733a2f2f706f7365722e707567782e6f72672f7068706d6f622f73657474696e67732f76657273696f6e)](https://packagist.org/packages/phpmob/settings)[![Latest Unstable Version](https://camo.githubusercontent.com/a3081805b32e9756faee3772e07ea849b43e0705a78897dbfd0f682916755998/68747470733a2f2f706f7365722e707567782e6f72672f7068706d6f622f73657474696e67732f762f756e737461626c65)](//packagist.org/packages/phpmob/settings)

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)

```
