merged branch drak/sessionarray (PR #3735)

Commits
-------

8dd2c27 [HttpFoundation] Further micro-optimization.
54c5d5e [HttpFoundation] Micro-optimisation.

Discussion
----------

[HttpFoundation] Micro-optimisation.

Ref #3729

---------------------------------------------------------------------------

by robocoder at 2012-03-30T11:45:02Z

If you pre-flip your $validOptions arrays, you can use isset() instead of in_array() in the loop.

This changes the performance from O(m * n) to O(m).

---------------------------------------------------------------------------

by drak at 2012-03-30T11:53:24Z

@robocoder What is the expense of the array_flip though?

---------------------------------------------------------------------------

by robocoder at 2012-03-30T11:56:21Z

Why would you use array_flip if the array doesn't change?  Change $validOptions = array('x', 'y', ...) to $validOptions = array('x' => 0, 'y' => 0, ...), then change the in_array() to use isset().

---------------------------------------------------------------------------

by stof at 2012-03-30T11:57:08Z

@drak a loop. But it will be done only once before the other loop so it will be O(n + m) instead of O(m * n)

---------------------------------------------------------------------------

by drak at 2012-03-30T12:00:47Z

Ok :)
Added test for prototype label.
[Routing] removed code that was not ready to be pushed
[HttpFoundation] Added some basic meta-data to Session

This commit allows applications to know certain meta-data about the session
Session storage is designed to only store some data against a session ID
so this method is necessary to be compatible with any session handler, including
native handlers.
[HttpFoundation] Refactored for moved tests location.
[HttpFoundation] Changed meta-data responsibility to
SessionStorageInterface

Added cookie_lifetime to the meta-data.  This allows to know how old
a cookie is and when the cookie will expire.
[HttpFoundation] Add methods to interface
[HttpFoundation] Add ability to force the lifetime (allows update of session cookie expiry-time)
[HttpFoundation] Added the ability to change the session cookie lifetime on migrate().

This is a very important option which allows the cookie lifetime to be changed on migrate.
For example when a user converts from an anonymous session to a logged in session one might
wish to change from a persistent cookie to browser session (e.g. a banking application).
updated reference to tests
[HttpFoundation] Renamed MetaBag to MetadataBag
[HttpFoundation] Update changelog.
[Finder] Added sortBy options based on accessed, changed and modified times
[DependencyInjection] Support Yaml calls without arguments
[WIP] [Locale] Fixes NumberFormatter tests failing when using ICU 4.8 or 4.8.1
fixed CS
updated license blocks
fixed line break to LF
merged branch igorw/dic-yaml-without-args (PR #3747)

Commits
-------

24a0d0a [DependencyInjection] Support Yaml calls without arguments

Discussion
----------

[DependencyInjection] Support Yaml calls without arguments
merged branch eriksencosta/cs-fixes (PR #3750)

Commits
-------

cf67870 fixed line break to LF
013f998 updated license blocks
bec231f fixed CS

Discussion
----------

fixed CS