This PR was submitted for the master branch but it was merged into the 2.1 branch instead (closes #6119). Commits ------- 3b9f763 [DI] Fix 'undefined index' error, when entering scope recursively Discussion ---------- [DI] Fix 'undefined index' error, when entering scope recursively Imagine two scopes: ```php $container = new Container(); $container->addScope(new Scope('foo')); $container->addScope(new Scope('bar', 'foo')); ``` Enter the same scope twice recursively: ```php $container->enterScope('foo'); // not entering bar in between $container->enterScope('foo'); // prints warning: undefined index: bar // at Symfony/Component/DependencyInjection/Container.php:341 ``` --------------------------------------------------------------------------- by fabpot at 2012-11-28T16:30:00Z The problem exists, but the fix looks wrong to me. We should keep the scoped services even with nested scopes. Right now, and even after your patch, we loose some information. --------------------------------------------------------------------------- by ludekstepan at 2012-11-28T16:38:05Z I don't know how to fix properly, the patch above is just a workaround. Without the patch, it's not possible to simply create a child scope of the "request" scope, because "enterScope" would fail upon every forward between "request" and nested "request" unless "bar" scope was entered prior to forward. --------------------------------------------------------------------------- by stof at 2012-11-28T16:51:50Z @fabpot why would it be wrong ? If the nested scope was not active when entering a subrequest, there is simply nothing to save --------------------------------------------------------------------------- by stloyd at 2013-01-04T18:16:54Z Any news about this one ? =) --------------------------------------------------------------------------- by stof at 2013-01-04T18:22:58Z @fabpot could you explain which info we are loosing ? |
||
---|---|---|
src/Symfony | ||
.editorconfig | ||
.gitignore | ||
.travis.yml | ||
autoload.php.dist | ||
CHANGELOG-2.0.md | ||
CHANGELOG-2.1.md | ||
composer.json | ||
CONTRIBUTING.md | ||
CONTRIBUTORS.md | ||
LICENSE | ||
phpunit.xml.dist | ||
README.md | ||
UPGRADE-2.1.md |
README
What is Symfony2?
Symfony2 is a PHP 5.3 full-stack web framework. It is written with speed and flexibility in mind. It allows developers to build better and easy to maintain websites with PHP.
Symfony can be used to develop all kind of websites, from your personal blog to high traffic ones like Dailymotion or Yahoo! Answers.
Requirements
Symfony2 is only supported on PHP 5.3.3 and up.
Be warned that PHP versions before 5.3.8 are known to be buggy and might not work for you:
-
before PHP 5.3.4, if you get "Notice: Trying to get property of non-object", you've hit a known PHP bug (see https://bugs.php.net/bug.php?id=52083 and https://bugs.php.net/bug.php?id=50027);
-
before PHP 5.3.8, if you get an error involving annotations, you've hit a known PHP bug (see https://bugs.php.net/bug.php?id=55156).
-
PHP 5.3.16 has a major bug in the Reflection subsystem and is not suitable to run Symfony2 (https://bugs.php.net/bug.php?id=62715)
Installation
The best way to install Symfony2 is to download the Symfony Standard Edition available at http://symfony.com/download.
Documentation
The "Quick Tour" tutorial gives you a first feeling of the framework. If, like us, you think that Symfony2 can help speed up your development and take the quality of your work to the next level, read the official Symfony2 documentation.
Contributing
Symfony2 is an open source, community-driven project. If you'd like to contribute, please read the Contributing Code part of the documentation. If you're submitting a pull request, please follow the guidelines in the Submitting a Patch section and use Pull Request Template.
Running Symfony2 Tests
Information on how to run the Symfony2 test suite can be found in the Running Symfony2 Tests section.