Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Mar 29, 2012
  1. @fabpot

    merged branch havvg/master (PR #3700)

    fabpot authored
    Commits
    -------
    
    dd4d46a add limit to logger explosion
    
    Discussion
    ----------
    
    add limit to logger explosion
    
    This limit is required to display complete query with e.g. "array" type in it.
    
    ping @willdurand
  2. @fabpot

    merged branch robocoder/patch-1 (PR #3701)

    fabpot authored
    Commits
    -------
    
    33382cd Add exception-controller attribute to xsd
    
    Discussion
    ----------
    
    Add exception-controller attribute to xsd
  3. @fabpot

    merged branch ajessu/phpserver (PR #3717)

    fabpot authored
    Commits
    -------
    
    d243097 Run built-in server on dev environment
    
    Discussion
    ----------
    
    Run built-in server on dev environment
    
    Bug fix: yes?
    Feature addition: no
    Backwards compatibility break: no
    Symfony2 tests pass: yes
    
    Change the router of the built-in server command to run on dev environment.
    
    The symfony standard edition doesn't have any `/` route by default (it's only available to dev), so by default, when ran, it gives a `404`, unless you explicitely add the `app_dev.php` front controller to the route.
    
    Also, this server is meant to be run on dev only, so no need to run it with the prod front controller by default.
  4. @fabpot

    merged branch drak/flashinterface (PR #3719)

    fabpot authored
    Commits
    -------
    
    cde1c52 [HttpFoundation] Add missing method in flash interface.
    
    Discussion
    ----------
    
    [HttpFoundation] Add missing method in flash interface.
    
    Bug fix: yes
    Feature addition: no
    Backwards compatibility break: no
    Symfony2 tests pass: yes
    Fixes the following tickets: #3711
    Todo: -
  5. @fabpot
  6. @fabpot

    moved component and bridge unit tests to the src/ directory

    fabpot authored
    This is the first step to make each Symfony Component and Bridge self-contained.
Commits on Mar 28, 2012
  1. @ajessu
  2. @fabpot
Commits on Mar 26, 2012
  1. @fabpot

    merged branch drak/session_gc (PR #3659)

    fabpot authored
    Commits
    -------
    
    cdba4cf [FrameworkBundle] Change XSD to allow string replacements on session args.
    52f7955 [FrameworkBundle] Remove default from gc_* session configuration keys.
    749593d [FrameworkBundle] Allow configuration of session garbage collection for session 'keep-alive'.
    
    Discussion
    ----------
    
    [2.1][FrameworkBundle] Allow configuration of session garbage collection
    
    Bug fix: no
    Feature addition: yes
    Backwards compatibility break: no
    Symfony2 tests pass: yes
    Fixes the following tickets: #2171
    Todo: -
    
    ---------------------------------------------------------------------------
    
    by drak at 2012-03-21T21:56:20Z
    
    @fabpot - this PR is ready for merge.  It basically allows configuration of some session ini values that are necessary in controlling the session behaviour.
    
    ---------------------------------------------------------------------------
    
    by dlsniper at 2012-03-21T22:57:18Z
    
    @drak shouldn't all the options here: https://github.com/symfony/symfony/blob/master/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php#L266 be available for configuration, or am I just reading the source wrong and they already are?
    
    In this case should I make a separate PR to cover the rest or could you do it in this one?
    
    ---------------------------------------------------------------------------
    
    by fabpot at 2012-03-23T14:56:22Z
    
    @drak: the discussion is the ticket is very interesting and I think it should be part of a cookbook in the documentation. Can you take care of that before I merge this PR? Thanks.
    
    ---------------------------------------------------------------------------
    
    by drak at 2012-03-25T15:32:59Z
    
    @fabpot - yes - it's on the todo list.  Will update this PR when done.
    
    ---------------------------------------------------------------------------
    
    by drak at 2012-03-26T19:45:13Z
    
    @fabpot - this is ready for merging, the documentation is done (the PR is in but I'll tweak it, but no need to wait to merge this PR).  I will also add something extra to cookbook (I wrote docs for the component).
  2. @robocoder
  3. @havvg

    add limit to logger explosion

    havvg authored
    This limit is required to display complete query with e.g. "array" type in it.
  4. @fabpot

    merged branch cedriclombardot/feat-propel-explain (PR #3616)

    fabpot authored
    Commits
    -------
    
    9ef5e95 Add connection name in the propel data collector
    
    Discussion
    ----------
    
    Add connection name in the propel data collector
    
    Bug fix: no
    Feature addition: yes, This will allow to explain a propel query on a specific connection
    Backwards compatibility break: no
    Symfony2 tests pass: yes
    
    - Require PR propelorm/Propel#315
    - Related to PR propelorm/PropelBundle#129
    
    cc @willdurand
    
    ---------------------------------------------------------------------------
    
    by willdurand at 2012-03-16T18:17:26Z
    
    @fabpot please, let me merge Propel related PRs before that one, thanks!
    
    ---------------------------------------------------------------------------
    
    by willdurand at 2012-03-26T08:38:36Z
    
    @fabpot good to go from my point of view
  5. @fabpot

    merged branch gatsu/patch-1 (PR #3689)

    fabpot authored
    Commits
    -------
    
    b718960 HttpFoundation\HeaderBag Little improvement.
    
    Discussion
    ----------
    
    [HttpFoundation\HeaderBag] Removed unnecessary anonymous function
    
    ---------------------------------------------------------------------------
    
    by vicb at 2012-03-24T16:07:00Z
    
    Related issue: #3294
  6. @fabpot

    merged branch marcw/patch-security-refresh-user (PR #3402)

    fabpot authored
    Commits
    -------
    
    10947cb [DoctrineBridge][Security] Fixes bug that prevents repository's refreshUser from being called
    
    Discussion
    ----------
    
    [Security][DoctrineBridge] Fixes bug that prevents repository's refreshUser from being called
    
    ---------------------------------------------------------------------------
    
    by marcw at 2012-02-21T08:46:09Z
    
    Updated. What do you guys think about this patch ?
    
    ---------------------------------------------------------------------------
    
    by henrikbjorn at 2012-02-21T08:57:47Z
    
    Isnt this a bit dangerous, the custom repository implementing refreshUser should always be called first right? You wouldnt specify the $property property if your class has custom implementations would you?
    
    ---------------------------------------------------------------------------
    
    by marcw at 2012-02-21T09:05:08Z
    
    @henrikbjorn At this time, the refreshUser method is never called from the custom repository, even if you don't specify the "property" property. This patch fixes this.
    
    ---------------------------------------------------------------------------
    
    by marcw at 2012-02-21T09:44:06Z
    
    Updated & Squashed.
    
    ---------------------------------------------------------------------------
    
    by stof at 2012-02-21T10:03:33Z
    
    @marcw please move the retrieval of the id in the ``else`` block, like in my comment as it is useless to do this logic for the case where the userProviderInterface is implemented (and it will answer to @vicb by making it impossible to write it with elseif)
    
    ---------------------------------------------------------------------------
    
    by marcw at 2012-02-21T10:19:06Z
    
    I'm not sure about this, but Isn't the check of the id essential here to ensure that the entity is a persisted one ?
    
    ---------------------------------------------------------------------------
    
    by stof at 2012-02-21T10:21:55Z
    
    @marcw if the interface is used, it means that the user wants to do the work himself. So you should really let him do the way he wants. If he does not use the id to refresh the user, he could choose not to include it in the serialized data.
    Retrieving the id is needed for the ``find()`` call because we pass the id as argument and so we fail when the serialized data don't contain it
    
    ---------------------------------------------------------------------------
    
    by marcw at 2012-02-21T10:33:30Z
    
    @stof Roger that. I'll do the fix.
    
    ---------------------------------------------------------------------------
    
    by marcw at 2012-02-21T10:41:58Z
    
    Updated & Squashed, again.
    
    ---------------------------------------------------------------------------
    
    by stof at 2012-02-21T11:00:44Z
    
    btw, to answer to your previous question, the exception when retrieving the id does not check if the object is persisted (you need to reach teh DB for this, which is what find() does) but that the id is part of the serialized data to give a better error reporting.
    
    ---------------------------------------------------------------------------
    
    by fabpot at 2012-03-07T19:39:33Z
    
    ready to be merged now?
    
    ---------------------------------------------------------------------------
    
    by henrikbjorn at 2012-03-08T07:21:37Z
    
    would say so.
    
    ---------------------------------------------------------------------------
    
    by dlsniper at 2012-03-25T11:58:34Z
    
    Hi, can this be merged now or not?
  7. @fabpot

    merged branch lsmith77/patch-1 (PR #3695)

    fabpot authored
    Commits
    -------
    
    72bf93f typo fix in upgrading guide
    
    Discussion
    ----------
    
    typo fix in upgrading guide
    
    cc @drak
Commits on Mar 25, 2012
  1. @lsmith77

    typo fix in upgrading guide

    lsmith77 authored
Commits on Mar 24, 2012
  1. @protaskin
Commits on Mar 23, 2012
  1. @fabpot

    fixed previous commit

    fabpot authored
  2. @fabpot
  3. @fabpot

    merged branch schmittjoh/processFailedException (PR #3633)

    fabpot authored
    Commits
    -------
    
    57de69f added an exception for failed processes
    
    Discussion
    ----------
    
    added an exception for failed processes
    
    ---------------------------------------------------------------------------
    
    by Seldaek at 2012-03-19T07:27:56Z
    
    So this is just there to use if you want to throw an exception when a process call failed in your application? It doesn't seem enabled by default, which I think is good anyway.
    
    ---------------------------------------------------------------------------
    
    by stof at 2012-03-19T07:44:43Z
    
    @Seldaek yeah, I guess this is a way to make it easier to reuse what he implemented for Assetic first.
    
    ---------------------------------------------------------------------------
    
    by fabpot at 2012-03-23T15:08:26Z
    
    How and when do you use such an exception?
    
    ---------------------------------------------------------------------------
    
    by schmittjoh at 2012-03-23T17:22:16Z
    
    It's intended for your own code to give you a nice and meaningful error message without having to repeat the same code whereever you are dealing with a Process:
    
    ```php
    if (0 !== $proc->run()) {
        throw new ProcessFailedException($proc);
    }
  4. @fabpot

    tweaked UPGRADE file

    fabpot authored
  5. @fabpot

    [HttpFoundation] fixed a test

    fabpot authored
  6. @fabpot

    merged branch drak/session_flashmessages (PR #3267)

    fabpot authored
    Commits
    -------
    
    5ae76f1 [HttpFoundation] Update documentation.
    910b5c7 [HttpFoudation] CS, more tests and some optimization.
    b0466e8 [HttpFoundation] Refactored BC Session class methods.
    84c2e3c [HttpFoundation] Allow flash messages to have multiple messages per type.
    
    Discussion
    ----------
    
    [2.1][HttpFoundation] Multiple session flash messages
    
    Bug fix: no
    Feature addition: yes
    Backwards compatibility break: yes, but this already happened in #2583.  BC `Session` methods remain unbroken.
    Symfony2 tests pass: yes
    Fixes the following tickets: #1863
    References the following tickets: #2714, #2753, #2510, #2543, #2853
    Todo: -
    
    This PR alters flash messages so that it is possible to store more than one message per flash type using the `add()` method or by passing an array of messages to `set()`.
    
    __NOTES ABOUT BC__
    
    This PR maintains BC behaviour with the `Session` class in that the old Symfony 2.0 methods will continue to work as before.
    
    ---------------------------------------------------------------------------
    
    by drak at 2012-02-13T06:28:33Z
    
    I think this is ready for review @fabpot @lsmith77
    
    ---------------------------------------------------------------------------
    
    by lsmith77 at 2012-02-14T19:30:39Z
    
    the FlashBag vs. AutoExpireFlashBag behavior and setup difference should probably also be explained in the upgrading log
    
    ---------------------------------------------------------------------------
    
    by drak at 2012-02-15T04:43:14Z
    
    @lsmith77 Those differences are explained already in the changelog
    
     * Added `FlashBag`. Flashes expire when retrieved by `get()` or `all()`.
       This makes the implementation ESI compatible.
     * Added `AutoExpireFlashBag` (default) to replicate Symfony 2.0.x auto expire behaviour of messages auto expiring
       after one page page load.  Messages must be retrived by `get()` or `all()`.
    
    ---------------------------------------------------------------------------
    
    by Crell at 2012-02-19T17:35:34Z
    
    Drak asked me to weigh in here with use cases.  Drupal currently has a similar session-stored-messaging system in place that I'd like to be able to replace with Flash messages.  We frequently have multiple messages within a single request, however, so this change is critical to our being able to do so.
    
    For instance, when saving an article in Drupal there is, by default, a "yay, you saved an article!" type message that gets displayed.  If you also have the site configured to send email when a post is updated, you may see a "email notifications sent" message (depending on your access level).  If you have a Solr server setup for search, and you're in debug mode, there will also be a "record ID X added to Solr, it should update in 2 minutes" message.  And if there's a bug somewhere, you'll also get, as an error message rather than notice message, a "Oops, E_NOTICE on line 54" message.
    
    Form validation is another case.  If you have multiple errors in a single form, we prefer to list all of them.  So if you screw up 4 times on a form, you may get 4 different error messages showing what you screwed up so you can fix it in one go instead of several.
    
    Now sure, one could emulate that by building a multi-message layer on top of single-layer messages, but, really, why?  "One is a special case of many", and there are many many cases where you'll want to post multiple messages.  Like, most of Drupal. :-)
    
    ---------------------------------------------------------------------------
    
    by lsmith77 at 2012-03-06T20:55:51Z
    
    @fabpot is there any information you still need before merging this? do you want more discussion in which case you might want to take this to the mailing list ..
    
    ---------------------------------------------------------------------------
    
    by drak at 2012-03-08T18:54:13Z
    
    Another plus for this PR is that it requires no extra lines of code in templates etc to display the flashes, see https://github.com/symfony/symfony/pull/3267/files#diff-1
    
    ---------------------------------------------------------------------------
    
    by drak at 2012-03-15T06:38:21Z
    
    Rebased against current `master`, should be mergeable again..
    
    ---------------------------------------------------------------------------
    
    by evillemez at 2012-03-17T03:08:41Z
    
    +1 to this, I have an extended version of HttpFoundation just for this... would love to get rid of it.
  7. @fabpot

    merged branch schmittjoh/configurableExtension (PR #3632)

    fabpot authored
    Commits
    -------
    
    3f2b917 added a configurable extension base class
    
    Discussion
    ----------
    
    added a configurable extension base class
    
    This is mostly a convenience class which provides first-class integration with the Config/Definition component.
  8. @fabpot

    merged branch nervo/patch-1 (PR #3684)

    fabpot authored
    Commits
    -------
    
    09054f7 [Validator] Fix switch breaking in max/min length for constraint guesser, when a "Symfony\Component\Validator\Constraints\Type" constraint type is not in numeric types array
    
    Discussion
    ----------
    
    [Validator] Fix form type guesser
    
    [Validator] Fix switch breaking in max/min length for constraint guesser, when a "Symfony\Component\Validator\Constraints\Type" constraint type is not in numeric types array
    
    ---------------------------------------------------------------------------
    
    by vicb at 2012-03-23T14:19:27Z
    
    You're right, thanks for the fix (I did break it !)
  9. @nervo

    [Validator] Fix switch breaking in max/min length for constraint gues…

    nervo authored
    …ser, when a "Symfony\Component\Validator\Constraints\Type" constraint type is not in numeric types array
  10. @fabpot
  11. @fabpot

    fixed CS

    fabpot authored
  12. @fabpot

    merged branch michal-pipa/server (PR #3465)

    fabpot authored
    Commits
    -------
    
    df11e62 [FrameworkBundle] Used $output->write() instead of echo
    c3bf479 [FrameworkBundle] Used Process component
    cfa2dff [FrameworkBundle] Changed server:run command description
    e7d38c1 [FrameworkBundle] Changed PHP version detection (see: #3529)
    4a3f6d5 [FrameworkBundle] Removed global variable from router script
    519d431 [FrameworkBundle] Fixed built-in server router script
    d9a0a17 [FrameworkBundle] Added server:run command
    
    Discussion
    ----------
    
    [FrameworkBundle] Added server:run command (PHP 5.4 built-in web server)
    
    Bug fix: no
    Feature addition: yes
    Backwards compatibility break: no
    Symfony2 tests pass: [![Build Status](https://secure.travis-ci.org/michal-pipa/symfony.png?branch=server)](http://travis-ci.org/michal-pipa/symfony)
    Fixes the following tickets: -
    Todo: -
    
    PHP 5.4 comes with [built-in web server](http://www.php.net/manual/en/features.commandline.webserver.php). I've created command which allows to easily run Symfony2 application using this new feature.
    
        Usage:
         server:run [-d|--docroot="..."] [-r|--router="..."] [address]
    
        Arguments:
         address        Address:port (default: 'localhost:8000')
    
        Options:
         --docroot (-d) Document root (default: 'web/')
         --router (-r)  Path to custom router script
    
        Help:
         The server:run runs Symfony2 application using PHP built-in web server:
    
           app/console server:run
    
         To change default bind address and port use the address argument:
    
           app/console server:run 127.0.0.1:8080
    
         To change default docroot directory use the --docroot option:
    
           app/console server:run --docroot=htdocs/
    
         If you have custom docroot directory layout, you can specify your own
         router script using --router option:
    
           app/console server:run --router=app/config/router.php
    
         See also: http://www.php.net/manual/en/features.commandline.webserver.php
    
    It requires PHP 5.4, otherwise this command will be disabled.
    
    I think that this is very convenient (especially for new users). All you have to do is download Symfony, install vendors and run this command. You don't have to configure "real" web server, in fact any other server is not required. You don't have cache and logs permission problem, because server runs with your local user permissions.
    
    ---------------------------------------------------------------------------
    
    by blogsh at 2012-03-06T17:38:10Z
    
    Great feature! I was about to write something like this when I saw that you have already started implementing this :)
    
    Some issues:
    1. Missing newlines at the end of the files
    2. If I try this server command with the default Symfony Standard Edition Acme demo the links on the main page do not work. The demo link links to "//demo" and the configurator link to "//_configurator". If I go to `localhost:8000/demo` directly the page is rendered as usual and all sub links are generated correctly. I could solve the problem by adding one line:
    
        $_SERVER['SCRIPT_FILENAME'] = 'ANYTHING';
        require 'app_dev.php';
    
    I'm not sure where this problem comes from. Do you experience the same behaviour? Otherwise I'll do some more investigations to find the source of the problem.
    
    3 . I think it would be a nice feature if you would generate a router.php based on the setting of the --env flag if no custom router file has been specified. This way it would be easy to switch between dev and prod.
    
    ---------------------------------------------------------------------------
    
    by michal-pipa at 2012-03-06T19:00:24Z
    
    @blogsh
    
    > Missing newlines at the end of the files
    
    I've checked and I can see newlines at the end of files. Are you sure about this?
    
    > If I try this server command with the default Symfony Standard Edition Acme demo the links on the main page do not work. The demo link links to "//demo" and the configurator link to "//_configurator". If I go to localhost:8000/demo directly the page is rendered as usual and all sub links are generated correctly. I could solve the problem by adding one line:
    >
    >     $_SERVER['SCRIPT_FILENAME'] = 'ANYTHING';
    >     require 'app_dev.php';
    >
    > I'm not sure where this problem comes from. Do you experience the same behaviour? Otherwise I'll do some more investigations to find the source of the problem.
    
    I can reproduce this by changing front controller name from  `app.php` to `app_dev.php`. I'll investigate on this.
    
    > I think it would be a nice feature if you would generate a router.php based on the setting of the --env flag if no custom router file has been specified. This way it would be easy to switch between dev and prod.
    
    You can easily change environment specifying front controller in URL. It works exactly the same way as default Apache configuration. This is intended behavior, as it would be misleading if every server had different rewrite rules.
    
    If you really want to change it, then you can write your own router and pass it as a value to `router` option.
    
    ---------------------------------------------------------------------------
    
    by blogsh at 2012-03-06T19:13:55Z
    
    Wasn't aware that github omits the trailing white line, sorry.
    Normally I use a rather inflexible nginx configuration, so I also wasn't aware of this (rather obvious) trick of changing the url. Thanks for that.
    
    ---------------------------------------------------------------------------
    
    by stof at 2012-03-06T22:12:16Z
    
    @blogsh it does not omit it. It displays it in the Linux way where the newline char is part of the line (and so there is a message ``no newline at end of file`` in the diff when it is missing).
    
    ---------------------------------------------------------------------------
    
    by michal-pipa at 2012-03-07T07:18:23Z
    
    @blogsh I've fixed router script. Now you can use both front controllers.
    
    ---------------------------------------------------------------------------
    
    by michal-pipa at 2012-03-07T07:34:58Z
    
    I've also hardcoded front controller name in router script and removed global variable, as there was no way to unset it.
    
    ---------------------------------------------------------------------------
    
    by michal-pipa at 2012-03-13T07:57:04Z
    
    I've used Process component, but now I don't get any stdout output (only stderr).
    
    ---------------------------------------------------------------------------
    
    by michal-pipa at 2012-03-13T18:01:58Z
    
    I've replaced `echo` by `$output->write()` and removed `$process` as it was not used actually.
  13. @fabpot

    [HttpFoundation] fixed phpdoc

    fabpot authored
  14. @fabpot

    merged branch cboden/interfaces (PR #3520)

    fabpot authored
    Commits
    -------
    
    bd02554 [HttpFoundation] SPL IteratorAggregate+Countable on *Bags
    665fdeb [HttpFoundation] SPL on ParameterBag
    
    Discussion
    ----------
    
    [HttpFoundation] SPL on ParameterBag
    
    Bug fix: no
    Feature addition: yes
    Backwards compatibility break: no
    Symfony2 tests pass: yes
    
    Added a couple SPL interfaces to ParameterBag, added shortcuts to working with the parameters.  For example:
    
    ```php
    <?php
        $post = Request::createFromGlobal()->request;
        echo "There are {count($post)} POST variables\n";
    
        foreach ($post as $key => $val) {
            echo "{$key}: {$val}\n";
        }
    ```
    
    Thoughts?
    
    ---------------------------------------------------------------------------
    
    by stealth35 at 2012-03-07T13:09:11Z
    
    You already have the `all` method
    
    ``` php
    <?php
    $post = Request::createFromGlobals()->request->all();
    
    echo "There are ", count($post), " POST variables\n";
    
    foreach ($post as $key => $val) {
        echo "{$key}: {$val}\n";
    }
    ```
    
    ---------------------------------------------------------------------------
    
    by cboden at 2012-03-07T13:50:22Z
    
    Yes, but when in the context of working with the Request object (or POST ParamegerBag), it's 1 more call and loose variable to set.
    
    ParameterBag is a container, these common SPL interfaces give standard PHP container methods to it.
    
    ---------------------------------------------------------------------------
    
    by lsmith77 at 2012-03-07T18:42:41Z
    
    makes sense to me ..
    
    ---------------------------------------------------------------------------
    
    by vicb at 2012-03-09T15:45:40Z
    
    Probably makes sense. Could you check if any other `*Bag.php` needs to be updated so that it could ba an atomic merge.
    
    ---------------------------------------------------------------------------
    
    by cboden at 2012-03-09T15:48:40Z
    
    Whoops, good catch @vicb.  I made a poor assumption all the *Bags extended ParameterBag, while only some do.  I will post an update shortly.
  15. @fabpot

    merged branch pulzarraider/redis_session_storage (PR #3498)

    fabpot authored
    Commits
    -------
    
    c4ee947 Native Redis Session Storage update
    665f593 NativeRedisSessionStorage added
    
    Discussion
    ----------
    
    [HttpFoundation] Native Redis Session Storage
    
    Bug fix: no
    Feature addition: yes
    Backwards compatibility break: no
    Symfony2 tests pass: yes
    Fixes the following tickets: -
    Todo: -
    
    ---------------------------------------------------------------------------
    
    by lstrojny at 2012-03-04T23:15:43Z
    
    Does Symfony (or any of its dependencies) has Redis support in any form whatsoever? If not this might be a good point to decide which clients to support
    
    ---------------------------------------------------------------------------
    
    by lsmith77 at 2012-03-04T23:36:11Z
    
    well ideally we just get this cache interface stuff done .. for this use case it would be perfect.
    
    ---------------------------------------------------------------------------
    
    by pulzarraider at 2012-03-05T00:35:59Z
    
    There is RedisProfilerStorage available (based on phpredis). I prefer and write code for [phpredis](https://github.com/nicolasff/phpredis).
    
    It's recommended by [official Redis homepage](http://redis.io/clients#PHP). [In this benchmark](http://dev.af83.com/2011/01/01/which-php-library-to-use-with-redis-the-benchmark.html
    ) is fastest and less memory consumpting.
    
    But if somebody prefer predis (with phpiredis), rediska or something other widely used, there are no limitations to add support of it to Symfony.
    
    My opinion is, that the C extension should be supported at first, because of good performance and native session storage support. Redis is quite young and the process of creating PHP clients is comparable to Memcache.
    There were created pure PHP Memcache clients in the past (Google found for example [this](http://www.phpclasses.org/browse/file/20284.html) and [this](http://code.blitzaffe.com/pages/phpclasses/files/memcached_client_52-12)), but they are not being used now. Everyone, who is seriously thinking about performance, is using only the C Redis/Memcache(d)/... extensions.
    
    ---------------------------------------------------------------------------
    
    by drak at 2012-03-05T07:40:06Z
    
    +1 on this PR.  Needs a test written though.
    I don't think there is any need to wait for #3493 imo.  I'll deal with it if this is merged before #3493.
    Are there any PHP ini settings for this for this driver or is everything via the `session.save_path` directive? (A quick look at the C code seems to indicate there are no explicit ini directives).
    
    ---------------------------------------------------------------------------
    
    by lstrojny at 2012-03-05T12:14:34Z
    
    @pulzarraider I don’t necessarily disagree with the usage of phpredis, I just wanted to bring up the issues of various clients and people having different preferences about them.
    
    ---------------------------------------------------------------------------
    
    by fabpot at 2012-03-05T14:46:22Z
    
    @pulzarraider Can you add some unit tests before I merge?
    
    ---------------------------------------------------------------------------
    
    by pulzarraider at 2012-03-11T20:19:57Z
    
    @drak No there are no php.ini settings. Only RedisArray has some, but it's another feature.
    
    @fabpot I've added simple test based on other session storage tests.
    
    I planned to create a RedisSessionStorage, too, but I have no time for it now. This can be added later in another PR as it's independent from NativeRedisSessionStorage.
    
    ---------------------------------------------------------------------------
    
    by drak at 2012-03-12T02:21:25Z
    
    The code looks OK to me.
    
    ---------------------------------------------------------------------------
    
    by fabpot at 2012-03-15T06:05:27Z
    
    #3493 has been merged now.
    
    ---------------------------------------------------------------------------
    
    by pulzarraider at 2012-03-16T23:21:27Z
    
    Code updated.
  16. @fabpot
  17. @fabpot

    merged branch lencioni/improve-exception-controller-documentation (PR #…

    fabpot authored
    …3669)
    
    Commits
    -------
    
    1422133 [TwigBundle] Made docblock for findTemplate() more general and accurate
    5910ac9 [TwigBundle] Added a use statement to shorten class name in a docblock
    3e7eebd [TwigBundle] Improved ExceptionController docblocks
    
    Discussion
    ----------
    
    [TwigBundle] Improved ExceptionController docblocks
    
    Bug fix: no
    Feature addition: no
    Backwards compatibility break: no
    Symfony2 tests pass: [![Build Status](https://secure.travis-ci.org/lencioni/symfony.png)](http://travis-ci.org/lencioni/symfony)
    Fixes the following tickets: -
    Todo: -
    
    ---------------------------------------------------------------------------
    
    by lencioni at 2012-03-21T20:47:16Z
    
    I obviously don't know what I'm doing here. :/
    
    ---------------------------------------------------------------------------
    
    by vicb at 2012-03-21T20:47:39Z
    
    no pb just rebase on master and force push
Something went wrong with that request. Please try again.