mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
DOCS Update docs to reflect true config merge priorities
This commit is contained in:
parent
4acec33562
commit
d80ef3d9e6
@ -153,12 +153,12 @@ the result will be the higher priority false-ish value.
|
||||
|
||||
The locations that configuration values are taken from in highest -> lowest priority order are:
|
||||
|
||||
- Any values set via a call to Config#merge / Config#set
|
||||
- Runtime modifications, ie: any values set via a call to `Config::inst()->update()`
|
||||
- The configuration values taken from the YAML files in `_config/` directories (internally sorted in before / after
|
||||
order, where the item that is latest is highest priority)
|
||||
- Any static set on an "additional static source" class (such as an extension) named the same as the name of the property
|
||||
- Any static set on the class named the same as the name of the property
|
||||
- The composite configuration value of the parent class of this class
|
||||
- Any static set on an "additional static source" class (such as an extension) named the same as the name of the property
|
||||
|
||||
<div class="notice">
|
||||
It is an error to have mixed types of the same named property in different locations. An error will not necessarily
|
||||
|
12
docs/en/04_Changelogs/4.0.5.md
Normal file
12
docs/en/04_Changelogs/4.0.5.md
Normal file
@ -0,0 +1,12 @@
|
||||
# 4.0.5
|
||||
|
||||
## Notable changes
|
||||
|
||||
Fix [#7971](https://github.com/silverstripe/silverstripe-framework/pull/7971) introduces a subtle change of behaviour
|
||||
to how `Config` settings are prioritised. In SilverStripe 4 there was a change where `Extension` objects took the
|
||||
highest importance when determining Config values; this was deemed to be unexpected and unintuitive as well as making it
|
||||
cumbersome and difficult for developers to override module defaults defined in `Extension`s. This change reverts
|
||||
behaviour to that of SilverStripe 3 where `Extension` instances are of lowest importance and are used only to set a
|
||||
default value. If you rely on your `Extension` or module providing an overriding config value, please move this to yaml.
|
||||
|
||||
<!--- Changes below this line will be automatically regenerated -->
|
Loading…
Reference in New Issue
Block a user