mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
MINOR Fixed anchor markdown in upgrading guide, better formatting for config upgrade instructions
This commit is contained in:
parent
c2339d2181
commit
2784891bd4
@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
## Upgrading ##
|
## Upgrading ##
|
||||||
|
|
||||||
### sapphire renamed to framework [sapphire-rename] ###
|
### sapphire renamed to framework {#sapphire-rename}
|
||||||
|
|
||||||
`sapphire` has been renamed to `framework`.
|
`sapphire` has been renamed to `framework`.
|
||||||
|
|
||||||
@ -28,32 +28,31 @@ Here's a list of steps to check:
|
|||||||
* Find and replace any references to `sapphire` in your custom code to `framework`. In your PHP code, you can use the constant `FRAMEWORK_DIR`,
|
* Find and replace any references to `sapphire` in your custom code to `framework`. In your PHP code, you can use the constant `FRAMEWORK_DIR`,
|
||||||
which points to the framework directory, and in the templates you can use `$ModulePath(framework)`
|
which points to the framework directory, and in the templates you can use `$ModulePath(framework)`
|
||||||
|
|
||||||
### Object static functions replaced with new Config class [new-config] ###
|
### Object static functions replaced with new Config class {#new-config}
|
||||||
|
|
||||||
Static functions for getting a static variable on the `Object` class have been deprecated,
|
Static functions for getting a static variable on the `Object` class have been deprecated,
|
||||||
in favour of using the new `Config` class instead.
|
in favour of using the new `Config` class instead.
|
||||||
|
|
||||||
`Object::set_static('MyClass', 'myvar')` becomes `Config::inst()->update('MyClass', 'myvar', 'myval')` instead.
|
* `Object::set_static('MyClass', 'myvar')` becomes `Config::inst()->update('MyClass', 'myvar', 'myval')` instead.
|
||||||
`Object::addStaticVars('MyClass', array('myvar' => 'myval'))` should be replaced with individual calls to `Config::inst()->update()` instead.
|
* `Object::addStaticVars('MyClass', array('myvar' => 'myval'))` should be replaced with individual calls to `Config::inst()->update()` instead.
|
||||||
`Object::add_static_var('MyClass', 'myvar', 'myval')` becomes `Config::inst()->update('MyClass', 'myvar', 'myval')` instead.
|
* `Object::add_static_var('MyClass', 'myvar', 'myval')` becomes `Config::inst()->update('MyClass', 'myvar', 'myval')` instead.
|
||||||
`Object::set_uninherited('MyClass', 'myvar', 'myval')` becomes `Config::inst()->update('MyClass', 'myvar', 'myval')` instead.
|
* `Object::set_uninherited('MyClass', 'myvar', 'myval')` becomes `Config::inst()->update('MyClass', 'myvar', 'myval')` instead.
|
||||||
|
|
||||||
Any arrays you pass as values to `update()` will be automatically merged. To replace the variable, call `remove()` first, then call `update()`.
|
Any arrays you pass as values to `update()` will be automatically merged. To replace the variable, call `remove()` first, then call `update()`.
|
||||||
|
|
||||||
`Object::get_static('MyClass', 'myvar')` becomes `Config::inst()->get('MyClass', 'myvar', Config::FIRST_SET)`
|
* `Object::get_static('MyClass', 'myvar')` becomes `Config::inst()->get('MyClass', 'myvar', Config::FIRST_SET)`
|
||||||
`Object::uninherited_static('MyClass', 'myvar')` becomes `Config::inst()->get('MyClass', 'myvar', Config::UNINHERITED)`
|
* `Object::uninherited_static('MyClass', 'myvar')` becomes `Config::inst()->get('MyClass', 'myvar', Config::UNINHERITED)`
|
||||||
`Object::combined_static('MyClass', 'myvar')` becomes `Config::inst()->get('MyClass', 'myvar')` (no option as third argument)
|
* `Object::combined_static('MyClass', 'myvar')` becomes `Config::inst()->get('MyClass', 'myvar')` (no option as third argument)
|
||||||
|
|
||||||
Note the different options for the third parameter of `get()`:
|
Note the different options for the third parameter of `get()`:
|
||||||
|
|
||||||
`Config::INHERITED` will only get the configuration set for the specific class, not any of it's parents.
|
* `Config::INHERITED` will only get the configuration set for the specific class, not any of it's parents.
|
||||||
`Config::FIRST_SET` will inherit configuration from parents, but stop on the first class that actually provides a value.
|
* `Config::FIRST_SET` will inherit configuration from parents, but stop on the first class that actually provides a value.
|
||||||
`Config::EXCLUDE_EXTRA_SOURCES` will not use additional static sources (such as those defined on extensions)
|
* `Config::EXCLUDE_EXTRA_SOURCES` will not use additional static sources (such as those defined on extensions)
|
||||||
|
|
||||||
If you don't set an option, it will get all the values for the static, including inherited ones.
|
If you don't set an option, it will get all the values for the static, including inherited ones.
|
||||||
This was previously known as `Object::combined_static()`.
|
This was previously known as `Object::combined_static()`.
|
||||||
|
|
||||||
### DataExtension and deprecated extraStatics on extension classes [extensions] ###
|
### DataExtension and deprecated extraStatics on extension classes {#extensions}
|
||||||
|
|
||||||
`DataObjectDecorator` has been renamed to `DataExtension`. Any classes that extend `DataObjectDecorator`
|
`DataObjectDecorator` has been renamed to `DataExtension`. Any classes that extend `DataObjectDecorator`
|
||||||
should now extend `DataExtension` instead.
|
should now extend `DataExtension` instead.
|
||||||
@ -101,7 +100,7 @@ Alternatively, you can define statics on the extension directly, like this:
|
|||||||
'Title' => 'Varchar'
|
'Title' => 'Varchar'
|
||||||
);
|
);
|
||||||
|
|
||||||
### New ORM: More flexible and expressive querying via `DataList` [new-orm-datalist] ###
|
### New ORM: More flexible and expressive querying via `DataList` {#new-orm-datalist}
|
||||||
|
|
||||||
The new "fluent" syntax to retrieve ORM records allows for a more
|
The new "fluent" syntax to retrieve ORM records allows for a more
|
||||||
expressive notation (instead of unnamed arguments).
|
expressive notation (instead of unnamed arguments).
|
||||||
@ -144,7 +143,7 @@ for the presence of records, please call the count() method on the `DataList`:
|
|||||||
|
|
||||||
See the ["datamodel" documentation](../../topics/datamodel) for more details.
|
See the ["datamodel" documentation](../../topics/datamodel) for more details.
|
||||||
|
|
||||||
### New ORM: Changes to manipulation of SQL queries [new-orm-sql-queries] ###
|
### New ORM: Changes to manipulation of SQL queries {#new-orm-sql-queries}
|
||||||
|
|
||||||
In the 2.4 ORM it was sometimes necessary to bypass the ORM for performance reasons. For example,
|
In the 2.4 ORM it was sometimes necessary to bypass the ORM for performance reasons. For example,
|
||||||
this command would have been intolerably slow:
|
this command would have been intolerably slow:
|
||||||
@ -349,7 +348,7 @@ not when simply using the CMS or developing other CMS functionality.
|
|||||||
If you want to extend the CMS stylesheets for your own projects without SCSS,
|
If you want to extend the CMS stylesheets for your own projects without SCSS,
|
||||||
please create a new CSS file and link it into the CMS via `[api:LeftAndMain::require_css()]`.
|
please create a new CSS file and link it into the CMS via `[api:LeftAndMain::require_css()]`.
|
||||||
|
|
||||||
### Built-in Javascript validation removed [js-validation] ###
|
### Built-in Javascript validation removed {#js-validation}
|
||||||
|
|
||||||
Built-in client-side form validation using `Validator.js` and `behaviour.js` has been removed, and is no longer supported.
|
Built-in client-side form validation using `Validator.js` and `behaviour.js` has been removed, and is no longer supported.
|
||||||
Server-side validation remains. Developers are encouraged to use custom Javascript validation on their
|
Server-side validation remains. Developers are encouraged to use custom Javascript validation on their
|
||||||
@ -386,7 +385,7 @@ its no longer possible to set the following optional attributes via constructor
|
|||||||
and `$folderName` (for `FileField` and `SimpleImageField`).
|
and `$folderName` (for `FileField` and `SimpleImageField`).
|
||||||
Please use the appropriate setters on the form field instance instead.
|
Please use the appropriate setters on the form field instance instead.
|
||||||
|
|
||||||
### EmailField now uses type "email" instead of type "text" [email-form-field] ###
|
### EmailField now uses type "email" instead of type "text" {#email-form-field}
|
||||||
|
|
||||||
EmailField now uses "email" for the `type` attribute, which integrates better with HTML5 features like
|
EmailField now uses "email" for the `type` attribute, which integrates better with HTML5 features like
|
||||||
form validation in the browser.
|
form validation in the browser.
|
||||||
@ -464,7 +463,7 @@ The new syntax supports injecting variables into the translation. For example:
|
|||||||
:::php
|
:::php
|
||||||
_t('i18nTestModule.INJECTIONS2', "Hello {name} {greeting}", array("name"=>"Paul", "greeting"=>"good you are here"));
|
_t('i18nTestModule.INJECTIONS2', "Hello {name} {greeting}", array("name"=>"Paul", "greeting"=>"good you are here"));
|
||||||
|
|
||||||
### Default translation source in YML instead of PHP $lang array, using Zend_Translate [zend-translate] ###
|
### Default translation source in YML instead of PHP $lang array, using Zend_Translate {#zend-translate}
|
||||||
|
|
||||||
This allows for a more flexible handling of translation sources in various formats.
|
This allows for a more flexible handling of translation sources in various formats.
|
||||||
Your own translations can be converted automatically via the ["i18n_yml_converter" module](https://github.com/chillu/i18n_yml_converter). Any modifications
|
Your own translations can be converted automatically via the ["i18n_yml_converter" module](https://github.com/chillu/i18n_yml_converter). Any modifications
|
||||||
@ -528,7 +527,7 @@ Breadcrumbs have been altered to be their own template. In the process of this,
|
|||||||
SiteTree::$breadcrumbs_delimiter has been removed. To customise breadcrumbs now, create a template
|
SiteTree::$breadcrumbs_delimiter has been removed. To customise breadcrumbs now, create a template
|
||||||
BreadcrumbsTemplate.ss from cms/template to your theme or application.
|
BreadcrumbsTemplate.ss from cms/template to your theme or application.
|
||||||
|
|
||||||
### Deprecation API [deprecation] ###
|
### Deprecation API {#deprecation}
|
||||||
|
|
||||||
There is a new deprecation API that generates deprecation notices. Calls to Deprecated methods
|
There is a new deprecation API that generates deprecation notices. Calls to Deprecated methods
|
||||||
will only produce errors if the API was deprecated in the release equal to or earlier than the
|
will only produce errors if the API was deprecated in the release equal to or earlier than the
|
||||||
|
Loading…
Reference in New Issue
Block a user