Added test Min/Max validators should ignore empty string

Refs #3686
Min/Max Validators ignore empty string

Fixes #3686
[Form] Deprecated Form::bindRequest() and replaced it by a PRE_BIND listener
[Form] Fixed the "data" option to supersede default data set in the model
Serbian Cyrillic translation updated.
Serbian Latin translation updated.
Updated Serbian Latin translation.
Updated Serbian Cyrillic translation.
[TwigBundle] Fixed error message
updated Brazilian Portuguese translation
Removed extra new line
Updated Portuguese translation
When serializing a Route, don't serialize the compiled route.
Null default value route regression
Router#resolveString should return null instead of empty string when $value is null

Closes #4823
[FrameworkBundle] Changed DelegatingEngine::renderResponse to use specified engine's renderResponse
merged branch Crell/route-serialize (PR #4755)

Commits
-------

a6d44bd When serializing a Route, don't serialize the compiled route.

Discussion
----------

When serializing a Route, don't serialize the compiled route.

The compiled route typically has a reference to the Route.  The Route of course has a reference to the compiled route.  This is a circular reference.  That can sometimes cause issues, say for var_export().  I ran into this issue while serializing route objects, but it could happen in other cases, too.

In any event, since the compiled route object is simply derived data I see no reason to keep it around.  If we serialize a Route, we just want the basic route information.  We can recompile later if needs be.  As a nice side-effect, this makes the serialized string much smaller.

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

by stof at 2012-07-04T21:09:34Z

I would implement the Serializable interface instead. It would be more consistent with what Symfony does elsewhere, and would avoid breaking things when you extend the class (Silex does it). Private properties cannot be accessed from the child class, and this is what PHP tries to do when you use ``__sleep`` as you only return the property name.

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

by Tobion at 2012-07-04T22:52:00Z

I also saw this circular reference. Maybe it's time to remove the reference from compiled route to the original route?!
If a developer needs the original route, he should keep the reference himself. No need to do it for him. It's like offering a "decompiling" reference that shouldnt be there.

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

by Crell at 2012-07-05T00:08:51Z

With Serializable, I'd have to reimplement serialize() myself, wouldn't I?  I just want to exclude the one value, but otherwise serialize normally.  Seems like that would be a non-small amount of work compared to a one-liner.

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

by stof at 2012-07-05T00:09:44Z

@Crell you have to reimplement it in the child class only if you want to add more stuff in the serialized data.

and breaking Silex just to be lazy here is not a good idea

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

by Crell at 2012-07-05T00:24:52Z

I'm not trying to break Silex. :-P

I think this is what you mean, but I'm not sure that completely changing the serialized form (which this does) is wise.  Is that not also a BC break of sorts?

Once we settle on one we can cherry-pick out the commits we want.

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

by stof at 2012-07-05T01:00:29Z

changing the serialization format is not an issue: the only place where serialized routes are likely to be stored is in the cache, and the cache does not need to be BC between 2.0 and 2.1. The user already have to delete it due to other changes.

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

by fabpot at 2012-07-09T15:02:59Z

+1 for implementing `Serializable`. Can you squash your commits and fix the CS (we need 4 spaces)? Thanks.

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

by Crell at 2012-07-10T03:25:04Z

Squshed, Spaced, and Rebased.
merged branch umpirsky/patch-2 (PR #4814)

Commits
-------

ec8c023 Serbian Cyrillic translation updated.

Discussion
----------

Serbian Cyrillic translation updated.

Shouldn't source messages be updated in all files in one commit? Also, version is 1.2 in both, en and sr files, but source messages are not.

I would like to be notified whenever translation is changed, maybe we should have some topic on mailing list so all translators can receive notifications once messages are changed.
merged branch umpirsky/patch-3 (PR #4815)

Commits
-------

55ac686 Serbian Latin translation updated.

Discussion
----------

Serbian Latin translation updated.
merged branch umpirsky/patch-4 (PR #4816)

Commits
-------

5211a01 Updated Serbian Latin translation.

Discussion
----------

Updated Serbian Latin translation.