mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
76ac8465de
Fixes regression from 3.x, where sessions where lazy started as required: Either because an existing session identifier was sent through with the request, or because new session data needed to be persisted as part of the request execution. Without this lazy starting, *every* request will get a session, which makes all those responses uncacheable by HTTP layers. Note that 4.x also changed the $data vs. $changedData payloads: In 3.x, they both contained key/value pairs. In 4.x, $data contains key/value, while $changedData contains key/boolean to declare isChanged. While this reduces duplication in the class, it also surfaced a bug which was latent in 3.x: When an existing session is lazily resumed via start(), $data is set back to an empty array. In 3.x, any changed data before this point was *also* retained in $changedData, ensuring it gets merged into existing $_SESSION data. In 4.x, this clears out data - hence the need for a more complex merge logic. Since isset($this->data) is no longer an accurate indicator of a started session, we introduce a separate $this->started flag. Note that I've chosen not to make lazy an opt-in (e.g. via start($request, $lazy=false)). We already have a distinction between lazy starting via init(), and force starting via start(). |
||
---|---|---|
_config | ||
.github | ||
.tx | ||
client | ||
docs | ||
lang | ||
src | ||
templates | ||
tests | ||
thirdparty | ||
_config.php | ||
_register_database.php | ||
.codecov.yml | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.scrutinizer.yml | ||
.travis.yml | ||
.upgrade.yml | ||
cli-script.php | ||
composer.json | ||
CONTRIBUTING.md | ||
LICENSE | ||
phpcs.xml.dist | ||
phpunit.xml.dist | ||
README.md | ||
sake | ||
silverstripe_version | ||
SUPPORT.md |
SilverStripe Framework
PHP framework forming the base for the SilverStripe CMS (https://silverstripe.org).
Requires a silverstripe-installer
base project. Typically used alongside the cms
module.
Installation
See installation on different platforms, and installation from source.
Bugtracker
Bugs are tracked on github.com. Please read our issue reporting guidelines.
Development and Contribution
If you would like to make changes to the SilverStripe core codebase, we have an extensive guide to contributing code.
Links
- Server Requirements
- Changelogs
- Bugtracker: Framework
- Bugtracker: CMS
- Bugtracker: Installer
- Forums
- Developer Mailinglist
- License
Attribution
- Some icons by Yusuke Kamiyamane. All rights reserved. Licensed under a Creative Commons Attribution 3.0 License.
- default_media.png by Thibault Geffroy from The Noun Project. All rights reserved. Licensed under a Creative Commons Attribution 3.0 License.