silverstripe-framework/docs/en/reference
Daniel Hensby 3b9056fc01 NEW Cookie_Backend for managing cookie state
I've decoupled `Cookie` from the actual act of setting and getting
cookies. Currently there are a few limitations to how Cookie works that
this change mitigates:

0. `Cookie` currently changes the super global `$_COOKIE` when setting
to make the state of an application a bit more managable, but this is
bad because we shouldn't be modifying super globals
0. One can't actually change the `$cookie_class` once the
`Cookie::$inst` has been instantiated
0. One can't test cookies as there is no class that holds the state of
the cookies (it's just held in the super global which is reset as part
of `Director::test()`
0. One can't tell the origin of a cookie (eg: did the application set it
and it needs to be sent, or did we receive it from the browser?)
0. `time()` was used, so testing was made difficult
0. There was no way to get all the cookies at once (without accessing
the super global)

Todos are on the phpdoc and I'd like to write some tests for the backend
as well as update the docs (if there are any) around cookies.
DOCS Adding `Cookie` docs

Explains basic usage of `Cookie` as well as how the `Cookie_Backend`
controls the setting and getting of cookies and manages state of sent vs
received cookies
Fixing `Cookie` usage

`Cookie` is being used inconsistently with the API throughout framework.
Either by not using `force_expiry` to expire cookies or setting them to
null and then expiring them (which is redundant).
NEW `Director::test()` takes `Cookie_Backend` rather than `array` for `$cookies` param
2014-10-06 17:44:51 +13:00
..
_images MINOR Added CMS architecture documentation 2012-01-01 18:24:09 +01:00
aspects.md DOC Added aspect oriented proxy documentation 2014-08-06 13:48:26 +10:00
bbcode.md Small text changes, added api links, cont. updating images for tutorials, fixed tutorials from member feedback 2011-03-09 10:05:51 +13:00
cms-architecture.md NEW: Updating out of date URLs in the framework source code and docs 2014-02-07 15:10:44 +13:00
cookies.md NEW Cookie_Backend for managing cookie state 2014-10-06 17:44:51 +13:00
database-structure.md API Polymorphic has_one behaviour 2014-03-18 09:18:04 +13:00
dataextension.md API New Database abstraction layer. Ticket #7429 2014-07-09 18:04:05 +12:00
dataobject.md Update dataobject.md 2014-05-29 00:41:29 +02:00
datefield.md Merge remote-tracking branch 'origin/3.1' 2014-04-22 12:09:51 +12:00
director.md Updated github path 2013-05-17 00:45:52 +02:00
execution-pipeline.md Merge remote-tracking branch 'origin/3.1' 2014-04-22 12:09:51 +12:00
form-field-types.md Removing @deprecated 3.1 functionality and classes. 2014-08-18 16:00:13 +12:00
grid-field.md Merge remote-tracking branch 'origin/3.1' 2014-05-06 10:22:09 +12:00
image.md Fixed small typo 2014-04-16 13:26:47 -04:00
index.md API New Database abstraction layer. Ticket #7429 2014-07-09 18:04:05 +12:00
injector.md API Injector supports nesting 2014-04-29 08:59:33 +12:00
layout.md API Move state to enwtine properties, provide API for preview. 2012-12-10 17:52:01 +01:00
member.md FieldList->insertBefore/After now accept arguments in either order (fixes #2737) 2014-03-15 11:32:51 +00:00
modeladmin.md Fixed wrong variable name in modeladmin docs 2014-07-05 14:34:42 +12:00
partial-caching.md Merge branch '3.0' into 3.1 2014-03-30 18:15:12 +13:00
permission.md Squashing previous corrections into one commit along with a couple more 2013-09-24 19:21:04 +01:00
preview.md Update preview.md 2014-03-04 11:32:45 +13:00
requirements.md Minor language and readability fixes. 2013-12-20 12:24:03 +01:00
restfulservice.md fixing docs spacing 2014-05-07 12:06:44 +01:00
rssfeed.md FIX: parent::init is not called first 2014-05-01 15:35:45 +12:00
searchcontext.md API New Database abstraction layer. Ticket #7429 2014-07-09 18:04:05 +12:00
shortcodes.md Update shortcodes.md 2014-08-08 16:02:10 +01:00
site-reports.md Fixed markdown whitespace usage 2012-10-02 11:38:16 +02:00
siteconfig.md Update docs to consistently use http://localhost/ (fixes #1919) 2013-10-23 20:24:52 +01:00
sitetree.md Fix typo in sitetree.md 2014-08-08 15:53:03 +12:00
sqlquery.md API New Database abstraction layer. Ticket #7429 2014-07-09 18:04:05 +12:00
tablefield.md Remove references to ComplexTableField 2013-05-26 11:11:53 +12:00
tablelistfield.md Moved GridField docs to reference 2012-10-30 18:59:26 +01:00
templates-formal-syntax.md ENHANCEMENT: Updated the template language documentation, based on work done by mrmorphic. 2011-12-17 15:25:15 +13:00
templates-upgrading-guide.md Consistently used dollar notation in template docs (see #1794) 2013-04-26 11:48:59 +02:00
templates.md Update templates.md 2014-07-04 13:40:26 +02:00
typography.md MINOR Updated coding conventions to require the 'public' keyword for class methods and variables 2012-01-30 23:13:42 +01:00
uploadfield.md DOCS Setting allowed_extensions in YAML 2014-07-20 14:25:21 +12:00
urlvariabletools.md Update docs to consistently use http://localhost/ (fixes #1919) 2013-10-23 20:24:52 +01:00