Commit Graph

1188 Commits

Author SHA1 Message Date
Victor Berchet
94426b94f4 "Updated" the changelog according to stof feedback 2012-11-21 08:34:44 +01:00
Fabien Potencier
6e8115a276 merged branch raziel057/COMPONENT_Form (PR #5888)
This PR was squashed before being merged into the master branch (closes #5888).

Commits
-------

2379d86 CS Fixes - Replaced "array of type" by "Type[]" in PHPDoc block

Discussion
----------

CS Fixes - Replaced "array of type" by "Type[]" in PHPDoc block

Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: no (but tests doesn't pass on master too). See Travis.
License of the code: MIT
Documentation PR: Not Applicable
Status: Finished

To improve support of the eclipse PDT pluggin (for autocompletion), I propose to change the array notation in PHPDoc blocks to match the phpDocumentor notation for "array of type".

Modifications are made for the following components:
- BrowserKit
- ClassLoader
- Config
- Console
- CssSelector
- DependencyInjection
- DomCrawler
- EventDispatcher (no changes)
- Filesystem (no changes)
- Finder
- Form
- HttpFoundation
- HttpKernel
- Locale
- OptionResolver (no changes)
- Process (no changes)
- Routing (no changes)
- Serializer (no changes)
- Templating
- Translation
- Validator
- Yaml (no changes)
- Security
- Stopwatch (no changes)

See Proposal https://github.com/symfony/symfony/pull/5852

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

by pborreli at 2012-11-01T15:19:27Z

will you make a PR for each component ? why not only one PR with one commit for each component instead ?

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

by raziel057 at 2012-11-01T15:32:39Z

Ok, I'm going try to do it.

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

by raziel057 at 2012-11-01T16:12:56Z

I would like to rename my branch from COMPONENT_Form to changes-phpdoc (as all modifications would be commited in only one branch), so I tried to execute the following command but I have an error.

git remote rename COMPONENT_Form changes-phpdoc
error: Could not rename config section 'remote.COMPONENT_Form' to 'remote.changes-phpdoc'

Do you know how to do it?

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

by pborreli at 2012-11-01T16:14:26Z

don't rename it, you will have to close and make another PR which is useless here, just edit the title.

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

by stof at 2012-11-01T16:16:17Z

and ``git remote rename`` is about renaming a remote repo, not a branch

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

by raziel057 at 2012-11-03T11:36:02Z

Is it normal that all my commit are duplicated? I would like just update my master and merge with my branch.

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

by fabpot at 2012-11-06T10:22:55Z

@raziel057 Can you rebase on master? That should fix your problem.

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

by fabpot at 2012-11-09T13:28:53Z

@raziel057 Can you finish this PR?

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

by Tobion at 2012-11-09T13:34:45Z

I'll do it for the routing component this evening because I know it by heart. ^^

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

by raziel057 at 2012-11-09T15:06:26Z

@Tobion ok Thanks!

@fabpot Yes, I will try to finish it this week end.

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

by raziel057 at 2012-11-11T13:04:07Z

@Tobion Did you already change PHPDoc in the Routing component?

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

by Tobion at 2012-11-11T15:21:18Z

@raziel057 Yes I'm working on it.

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

by Tobion at 2012-11-12T15:16:31Z

@raziel057 Done. See #5994
2012-11-19 13:58:52 +01:00
Thomas Lallement
2379d86241 CS Fixes - Replaced "array of type" by "Type[]" in PHPDoc block 2012-11-19 13:58:52 +01:00
Fabien Potencier
cec11fa08a Merge branch '2.1'
* 2.1:
  [Routing] made it compatible with older PCRE version (pre 8)
  tiny refactoring for consistency
  fixed docblock return type
  Added HttpCache\Store::generateContentDigest() + changed visibility

Conflicts:
	src/Symfony/Component/Routing/Matcher/Dumper/ApacheMatcherDumper.php
	src/Symfony/Component/Routing/Matcher/Dumper/PhpMatcherDumper.php
	src/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher1.php
	src/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher2.php
	src/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher3.php
	src/Symfony/Component/Routing/Tests/RouteCompilerTest.php
2012-11-19 13:32:16 +01:00
Jérôme Vieilledent
d2920c94a1 Added HttpCache\Store::generateContentDigest() + changed visibility 2012-11-15 14:23:00 +01:00
Fabien Potencier
b126664406 Merge branch '2.1'
* 2.1: (24 commits)
  forced Travis to use source to workaround their not-up-to-date Composer on PHP 5.3.3
  [Routing] removed irrelevant string cast in Route
  Fixed typo
  Make YamlFileLoader and XmlFileLoader file loading extensible
  [HttpKernel] fix typo
  Fixed singularization of "prices"
  [Form] Removed an exception that prevented valid formats from being passed, e.g. "h" for the hour, "L" for the month etc.
  [HttpKernel] fixed Client when using StreamedResponses (closes #5370)
  fixed PDO session handler for Oracle (closes #5829)
  [HttpFoundation] fixed PDO session handler for Oracle (closes #5829)
  [Locale] removed a check that is done too early (and it is done twice anyways)
  Update src/Symfony/Component/Validator/Resources/translations/validators.fa.xlf
  Adding new localized strings for farsi validation.
  [HttpFoundation] moved the HTTP protocol check from StreamedResponse to Response (closes #5937)
  [Form] Fixed forms not to be marked invalid if their children are already marked invalid
  [Form] Excluded some tests in NumberToLocalizedStringTransformerTest which fail on ICU 4.4, but work on ICU 4.8
  added missing tests from previous merge
  [Form] Fixed NumberToLocalizedStringTransformer to accept both comma and dot as decimal separator, if possible
  Fix export-ignore on Windows
  Show correct class name InputArgument in error message
  ...

Conflicts:
	.travis.yml
	src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php
2012-11-13 15:08:04 +01:00
Fabien Potencier
e0aab4075f renamed sf-exceptionreset to sf-reset 2012-11-12 18:19:16 +01:00
Fabien Potencier
966053069d [HttpKernel] fixed some unit tests 2012-11-12 14:30:42 +01:00
Fabien Potencier
99ee736b2b merged branch vicb/httpkernel/tests (PR #5985)
This PR was merged into the master branch.

Commits
-------

e32ca2b [HttpKernel] Fix Symfony2 full framework tests

Discussion
----------

[HttpKernel] Fix Symfony2 full framework tests

Fix the path when the full framework is used

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

by fabpot at 2012-11-12T09:08:06Z

When is it broken?

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

by vicb at 2012-11-12T09:18:01Z

now, https://travis-ci.org/symfony/symfony/jobs/3159326
2012-11-12 10:30:29 +01:00
Victor Berchet
e32ca2b827 [HttpKernel] Fix Symfony2 full framework tests 2012-11-12 09:34:19 +01:00
Victor Berchet
2972f3142c [HttpKernel] Changlog update - document a BC break 2012-11-11 18:39:27 +01:00
Fabien Potencier
b337655feb merged branch vicb/stopwatch (PR #5970)
This PR was squashed before being merged into the master branch (closes #5970).

Commits
-------

d0433b6 [Stopwatch] Get the "real size" used & minor tweaks

Discussion
----------

[Stopwatch] Get the "real size" used & minor tweaks

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

by vicb at 2012-11-11T09:45:50Z

@fabpot @maoueh thanks for your feedback, integrated.
2012-11-11 11:18:42 +01:00
Victor Berchet
d0433b69aa [Stopwatch] Get the "real size" used & minor tweaks 2012-11-11 11:18:42 +01:00
Victor Berchet
f9e8465d1b [HttpKernel] Changelog update 2012-11-11 11:07:37 +01:00
Victor Berchet
4c0c588a68 [MemoryDataCollector] Stop being optimistic about memory usage
Take into account the memory used in the kernel.terminate listeners
2012-11-10 17:53:14 +01:00
Tobias Schultze
8e6224840e [HttpKernel] fix typo 2012-11-10 11:47:17 +01:00
Fabien Potencier
2a156cf9f4 merged branch fabpot/tests-in-components (PR #5958)
This PR was merged into the master branch.

Commits
-------

b27b749 made usage of Composer autoloader for subtree-split unit tests

Discussion
----------

made usage of Composer autoloader for subtree-split unit tests

This PR also normalizes the way components are tested.

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

by stof at 2012-11-09T23:14:22Z

👍
2012-11-10 09:20:22 +01:00
Fabien Potencier
a288521204 displayed the full event listener names to avoid name collisions (closes #5019) 2012-11-09 17:27:53 +01:00
Fabien Potencier
84b760b923 [HttpKernel] fixed Client when using StreamedResponses (closes #5370) 2012-11-09 16:49:48 +01:00
Fabien Potencier
b27b749025 made usage of Composer autoloader for subtree-split unit tests 2012-11-09 14:10:06 +01:00
Fabien Potencier
6b54a51963 moved the Stopwatch classes to their own component 2012-11-09 10:08:25 +01:00
Fabien Potencier
dd23f6c418 merged branch gajdaw/gitattributes-windows (PR #5938)
This PR was merged into the 2.1 branch.

Commits
-------

646a714 Fix export-ignore on Windows

Discussion
----------

Fix export-ignore on Windows

Rules:

    Tests/ export-ignore

don't work on Windows. My proposition is:

    /Tests export-ignore
2012-11-09 09:52:51 +01:00
Fabien Potencier
380cf4f5ec [HttpKernel] added memory information in the Stopwatch 2012-11-09 07:36:10 +01:00
Fabien Potencier
9c38e768d9 added missing tests from previous merge 2012-11-08 18:03:02 +01:00
Fabien Potencier
e425f6cf9a Merge branch '2.0' into 2.1
* 2.0:
  [Form] Fixed NumberToLocalizedStringTransformer to accept both comma and dot as decimal separator, if possible
  Show correct class name InputArgument in error message
  shows correct class name InputOption in error message
  The exception message should say which field is not mapped
  [HttpFoundation] Fix name sanitization after perfoming move
  Add check to Store::unlock to ensure file exists

Conflicts:
	src/Symfony/Bridge/Doctrine/Validator/Constraints/UniqueEntityValidator.php
	src/Symfony/Component/HttpFoundation/File/UploadedFile.php
	tests/Symfony/Tests/Component/Console/Input/InputArgumentTest.php
	tests/Symfony/Tests/Component/Console/Input/InputOptionTest.php
	tests/Symfony/Tests/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformerTest.php
	tests/Symfony/Tests/Component/HttpFoundation/File/FileTest.php
	tests/Symfony/Tests/Component/HttpKernel/HttpCache/StoreTest.php
2012-11-08 18:02:05 +01:00
Włodzimierz Gajda
646a714ded Fix export-ignore on Windows 2012-11-08 10:51:48 +01:00
Fabien Potencier
297e00afb4 bumped Symfony version to 2.1.4-DEV 2012-10-30 10:44:33 +01:00
Fabien Potencier
fd36aa0605 updated VERSION for 2.1.3 2012-10-30 09:14:14 +01:00
Fabien Potencier
2a23dbdeb6 [HttpKernel] fixed some broken tests 2012-10-29 18:07:35 +01:00
Ben Ramsey
4e826c7486 [HttpKernel] added some more HTTP exceptions 2012-10-29 17:11:00 +01:00
Fabien Potencier
649872be85 merged branch jonathaningram/issue_5375 (PR #5376)
This PR was merged into the 2.0 branch.

Commits
-------

a094f7e Add check to Store::unlock to ensure file exists

Discussion
----------

[2.0] [HttpKernel] Add check to Store::unlock to ensure file exists

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes

I was seeing this error in my logs when using an `AppCache`:

```
Error 2: /var/www/beta.example.com/shared/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpCache/Store.php line 92: unlink(/var/www/beta.example.com/releases/20120827020525/app/cache/beta/http_cache/md/c2/88/66a911b5266a57bdd55131a47895b8861dfd.lck): No such file or directory
```

It was only occurring when the `http_cache` file was being primed (i.e. first load).

I've added a simple check to ensure that the file is a valid file before trying to unlink. I also added a missing `@return` docblock. Note: I've chosen to return `false` if the file does not exist as this seems to be the behaviour of the `purge` method.

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

by jonathaningram at 2012-08-29T06:46:52Z

@henrikbjorn done and rebased. Thanks.

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

by jonathaningram at 2012-09-17T22:38:47Z

@henrikbjorn any news on this one? It's currently not possible to use the HTTP Cache without the first request failing.

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

by jonathaningram at 2012-09-25T01:28:38Z

ping @fabpot sorry to keep pushing this, but any chance you could take a look at this?
2012-10-27 18:34:13 +02:00
Fabien Potencier
da1b635d87 merged branch msonnabaum/httpcache_store_locking_fixes (PR #5381)
This PR was squashed before being merged into the master branch (closes #5381).

Commits
-------

0f3126f Added lockExists to Store interface, fixed locking bugs, added tests.

Discussion
----------

Added lockExists to Store interface, fixed locking bugs, added tests.

While working on Drupal's HttpCache implementation, I discovered that the base HttpCache class does an is_file to check for a lock, which assumes a file-based cache is being used. This seems like a mistake since the rest of the Store interface is easily swappable. I added a lockExists method so that this is properly abstracted.

I also noticed there were no tests for the change I made, so I added some very basic locking tests. While adding those I found that the existing lock method is a bit broken. This line here:

```php
<?php

if (false !== $lock = @fopen($path = $this->getPath($this->getCacheKey($request).'.lck'), 'x')) {
```

will return false if the file couldn't be written for any reason, but the rest of the method assumes that if $lock == false, the lock exists already. So if the file couldnt be written due to the parent directory not existing, $path will be returned as if it exists, which is clearly not the desired behavior.

I changed this to return false if the file couldnt be written and doesn't exist, $path if it exists, and true if the lock was created. It still doesn't feel great to have bool|string return values, but that's the best I could come up with atm. I also added a check for the parent directory that creates it if it doesn't exist. The new tests fail without it.

I also broke out that code a bit as it was very difficult to read.

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

by henrikbjorn at 2012-08-30T09:11:16Z

Symfony have a editorconfig file which set the correct indentation settings. http://editorconfig.org/

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

by msonnabaum at 2012-08-30T13:00:20Z

Updated based on stof's feedback.

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

by msonnabaum at 2012-08-30T13:21:40Z

Fixed based on code style feedback.

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

by jonathaningram at 2012-09-05T12:29:47Z

@msonnabaum, this seems to be distantly related to my recent PR too: #5376.

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

by stof at 2012-10-13T20:35:55Z

@fabpot anything left to merge this ?

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

by catch56 at 2012-10-23T16:42:10Z

This looks great to me, Couldn't find anything to complain about.
2012-10-27 18:31:07 +02:00
Mark Sonnabaum
0f3126f397 Added lockExists to Store interface, fixed locking bugs, added tests. 2012-10-27 18:31:06 +02:00
Fabien Potencier
887207402b bumped Symfony version to 2.0.19-DEV 2012-10-25 15:09:46 +02:00
Fabien Potencier
03fbb485e0 updated VERSION for 2.0.18 2012-10-25 10:56:58 +02:00
Fabien Potencier
67d9253127 Merge branch '2.1'
* 2.1:
  added missing use statment (closes #5825)
  Code cleanup
  [WebProfilerBundle] Fixed the use of nested macros
  Removed unused use statements.
  Nsdocblocks
  [ConfigDumpReference] avoid notice for variable nodes
  fixed fallback locale
  UniqueValidatorTest, Change message on assertions
  Documented removed _form_is_choice_group function

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/ConfigDumpReferenceCommand.php
	src/Symfony/Bundle/WebProfilerBundle/Profiler/TemplateManager.php
2012-10-24 17:41:27 +02:00
Mario A. Alvarez Garcia
f06432bc73 Code cleanup 2012-10-22 10:37:12 -04:00
Drak
788cc2c7ef Nsdocblocks 2012-10-20 09:10:30 +02:00
Fabien Potencier
390f36a86b merged branch acasademont/locale_request_collector (PR #5769)
This PR was merged into the master branch.

Commits
-------

20f19bf Add the Request locale to the RequestDataCollector

Discussion
----------

[HttpKernel] Add the Request locale to the RequestDataCollector

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: [![Build Status](https://secure.travis-ci.org/acasademont/symfony.png)](http://travis-ci.org/acasademont/symfony)
Fixes the following tickets: -
Todo: -
License of the code: MIT
Documentation PR: -

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

by acasademont at 2012-10-17T09:01:32Z

Seems like some Twig tests are failing in the master branch
2012-10-19 13:22:50 +02:00
Fabien Potencier
88ea842c5e Merge branch '2.1'
* 2.1: (28 commits)
  Delete use of CreationExeption
  [Form] Fixed error message in PropertyPath to not advice to use a non-existing feature
  [Form] Fixed creation of multiple money fields with different currencies
  [Form] Fixed setting the "data" option to an object in "choice" and "entity" type
  Fixed Serbian plural translations.
  Fixed IPv6 Check in RequestMatcher
  Fix typo
  change what I think is a typo
  [Console] Fix error when mode is not in PATH
  [WebProfilerBundle] fixed macro usage (to be forward compatible with Twig 2.x)
  Change monolog require-dev to use the branch alias instead of dev-master
  [FrameworkBundle] partially reverted previous merge
  [2.1] Added missing error return codes in commands
  Made the router lazy when setting the context
  [WebProfilerBundle] fixed typos
  Fix incorrect variable in FileProfilerStorage
  UnitTest fix
  UnitTest fix
  added a unit test
  fixed #5384
  ...
2012-10-18 23:16:19 +02:00
Albert Casademont
20f19bfd84 Add the Request locale to the RequestDataCollector 2012-10-17 10:50:16 +02:00
Fabien Potencier
56a159568b moved the traceable controller resolver from the framework bundle to the HttpKernel component (using composition now) 2012-10-13 20:49:27 +02:00
Fabien Potencier
d0fe87aac5 [HttpKernel] removed test that is not needed anymore 2012-10-13 20:34:40 +02:00
Fabien Potencier
c682f67df6 [HttpKernel] unified the way the traceable event dispatcher injects information into the profiler (closes #5733) 2012-10-13 12:32:02 +02:00
Tim Nagel
e7a4f71e4c Fix incorrect variable in FileProfilerStorage 2012-10-13 12:04:30 +02:00
Fabien Potencier
5956f9f2b4 Merge branch '2.1'
* 2.1:
  fixed CS
  added doc comments
  added doc comments
  [Validator] Updated swedish translation
  Update src/Symfony/Component/Validator/Resources/translations/validators.de.xlf
  [2.1] Exclude tests from zips via gitattributes
  [HttpKernel][Translator] Fixed type-hints
  Updated lithuanian validation translation
  [DomCrawler] Allows using multiselect through Form::setValues().
  [Translation] forced the catalogue to be regenerated when a resource is added (closes symfony/Translation#1)
  Unit test for patched method OptionsResolver::validateOptionValues().
  validateOptionValues throw a notice if an allowed value is set and the corresponding option isn't.
  [Form] Hardened code of ViolationMapper against errors
  [HttpFoundation] Fixed #5611 - Request::splitHttpAcceptHeader incorrect result order.
  [Form] Fixed negative index access in PropertyPathBuilder
  Update src/Symfony/Component/Validator/Resources/translations/validators.ro.xlf

Conflicts:
	src/Symfony/Component/DomCrawler/Form.php
	src/Symfony/Component/Process/Process.php
2012-10-06 21:57:59 +02:00
Fabien Potencier
60b54090bb Merge branch '2.0' into 2.1
* 2.0:
  fixed CS
  added doc comments
  [HttpKernel][Translator] Fixed type-hints
  [Translation] forced the catalogue to be regenerated when a resource is added (closes symfony/Translation#1)
  [HttpFoundation] Fixed #5611 - Request::splitHttpAcceptHeader incorrect result order.

Conflicts:
	src/Symfony/Component/Process/Process.php
	tests/Symfony/Tests/Component/HttpFoundation/RequestTest.php
2012-10-06 21:54:37 +02:00
Fabien Potencier
2be47200e0 [HttpKernel] fixed the traceable event dispatcher when an event of a name is dispatched when an event of the same name is already being dispatched 2012-10-04 17:28:41 +02:00
Igor Wiedler
462dddfac9 [2.1] Exclude tests from zips via gitattributes 2012-10-04 17:17:57 +02:00
Drak
22c7a910b8 [HttpKernel][Translator] Fixed type-hints 2012-10-04 16:11:30 +01:00
Fabien Potencier
47900b8aca [HttpKernel] fixed regression caused by the previous commit 2012-10-04 13:36:08 +02:00
Fabien Potencier
fbf19f0fbf [HttpKernel] made the ExceptionHandler more flexible 2012-10-04 13:24:43 +02:00
Fabien Potencier
0bfa86ce8a Merge branch '2.1'
* 2.1:
  [2.1] Fix SessionHandlerInterface autoloading
  Remove executable bit from HttpKernel/DependencyInjection/ConfigurableExtension.php
  [2.0][http-foundation] Fix Response::getDate method
  [DoctrineBridge] Require class option for DoctrineType
  [HttpFoundation] fixed the path to the SensioHandlerInterface class in composer.json
  Support the new Microsoft URL Rewrite Module for IIS 7.0. @see http://framework.zend.com/issues/browse/ZF-4491 @see http://framework.zend.com/code/revision.php?repname=Zend+Framework&rev=24842
  fixed undefined variable
  hasColorSupport does not take an argument
  Improve FilterResponseEvent docblocks Response ref
2012-10-02 12:23:35 +02:00
Fabien Potencier
49ca648245 Merge branch '2.0' into 2.1
* 2.0:
  [2.0][http-foundation] Fix Response::getDate method
  Support the new Microsoft URL Rewrite Module for IIS 7.0. @see http://framework.zend.com/issues/browse/ZF-4491 @see http://framework.zend.com/code/revision.php?repname=Zend+Framework&rev=24842
  fixed undefined variable
  hasColorSupport does not take an argument
  Improve FilterResponseEvent docblocks Response ref

Conflicts:
	tests/Symfony/Tests/Component/HttpFoundation/ResponseTest.php
2012-10-02 12:22:56 +02:00
Eugene Leonovich
315ffc7f69 Remove executable bit from HttpKernel/DependencyInjection/ConfigurableExtension.php 2012-10-01 11:23:15 +02:00
Fabien Potencier
2a673d8626 Replaced ContainerAwareTraceableEventDispatcher with TraceableEventDispatcher
The ContainerAwareTraceableEventDispatcher class was tied to both the
Symfony container and the HttpKernel profiler. It made it non reusable
in another context.

The new TraceableEventDispatcher only keeps the HttpKernel profiler
integration and is able to wrap any other event dispatcher. It makes it
reusable in frameworks using the Symfony HttpKernel component like
Silex.

The only drawback is that we don't have access to the listener
priorities in the collected data anymore (but the listeners are still
ordered correctly). The change is still worth it I think.
2012-10-01 01:46:38 +02:00
Fabien Potencier
926dd1dcd6 merged branch rrehbeindoi/error-error (PR #5539)
This PR was merged into the master branch.

Commits
-------

7fe44da Whitespace corrections
6d30f20 Switched to using a method to get original class name that did not require string parsing
3c8d607 Changed test to use a longer form, complete check of the contents of the trace
de77c88 Whitespace correction
03a7bb9 Added a unit test to verify incomplete classes do not cause flatten exception to throw
e562418 Added a bit to convert incomplete objects in the error message

Discussion
----------

[HttpKernel] Added a bit to convert incomplete objects in the error message

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes*

\* no - errors in MongoDbSessionHandlerTest attempting to access private property, however running just src/Symfony/Component/HttpKernel does pass.

Objects of class __PHP_Incomplete_Class are only sometimes an object.

```
$object = unserialize('O:14:"BogusTestClass":0:{}');
$object instanceof __PHP_Incomplete_Class; // true
is_object($object); // false
gettype($object); // "object"
```

Since it is "not an object", the flatter attempts to turn it into a string, it triggers:
```
__PHP_Incomplete_Class could not be converted to string.
```
Which then hides the root error message.

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

by pborreli at 2012-09-18T16:16:33Z

have you seen that http://stackoverflow.com/questions/965611/forcing-access-to-php-incomplete-class-object-properties looks like you can still access the object even if it's a __PHP_Incomplete_Class with foreach

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

by rrehbeindoi at 2012-09-18T16:38:38Z

Thank you for the tip re: foreach.
2012-09-28 21:03:48 +02:00
Ray
ef18e00283 [HttpKernel] Added a bit to convert incomplete objects in the error message 2012-09-28 21:03:47 +02:00
Fabien Potencier
0a3b012619 Merge branch '2.1'
* 2.1:
  Added Base64 encoding, decoding to MongoDBProfilerStorage
  Fix duplicated code and a field name
  refactor src/Symfony/Component/Translation/Loader/MoFileLoader.php
  fixed typo
  Update src/Symfony/Component/Validator/Resources/translations/validators.pl.xlf
  fixed issue #5596 (Broken DOM with the profiler's toolbar set in position top)
  [Form] Fixed the testsuite for PHPUnit 3.6 as travis still uses it
  added dirs generated by build-data.php in locale component to .gitignore
  [Process] Fixed bug introduced by 7bafc69f38.
  [Process][Tests] Prove process fail (Add more test case)
  [Process][Tests] Prove process fail
  [HttpFoundation] Fixed the tests
  [DomCrawler] Added test for supported encodings by mbstring
  [Config] Fixed preserving keys in associative arrays
  [Console] Fixed return value for Command::run
  [Locale] Fixed tests
  [Console] Fix some input tests
  [Filesystem] Fixed tests on Windows
  [Config] Fixed tests on Windows
2012-09-28 19:52:09 +02:00
Kevin McBride
c120c4d3d0 Added Base64 encoding, decoding to MongoDBProfilerStorage 2012-09-28 10:25:05 -07:00
Filippo Tessarotto
45bf52358e Optimize autoload prefix in composer.json
By having more specific autoload prefixes it is possible to reduce the
number of stat calls made. Also it prevents conflicts with similar
namespaces.
2012-09-28 09:34:16 +02:00
Fabien Potencier
58cb6f55cc changed comparison on the request method to use the isMethod() method 2012-09-23 15:11:53 +02:00
Adrien Brault
34ca3de4f2 Improve FilterResponseEvent docblocks Response ref
The type hinting wasn't working in PHPStorm.
2012-09-21 11:33:41 +03:00
Fabien Potencier
e9b6a12baf Merge branch '2.1'
* 2.1:
  fixed stringification of array objects in RequestDataCollector (closes #5295)
  [HttpFoundation] removed the username and password from generated URL as generated by the Request class (closes #5555)
  [Console] fixed default argument display (closes #5563)
  Fixing config normalisation example in docblock
2012-09-21 08:34:59 +02:00
Fabien Potencier
237629ad64 Merge branch '2.0' into 2.1
* 2.0:
  fixed stringification of array objects in RequestDataCollector (closes #5295)
  Fixing config normalisation example in docblock

Conflicts:
	src/Symfony/Bridge/Doctrine/DataCollector/DoctrineDataCollector.php
	src/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php
2012-09-21 08:34:46 +02:00
Fabien Potencier
2ceebdcaba fixed stringification of array objects in RequestDataCollector (closes #5295) 2012-09-21 08:32:55 +02:00
Fabien Potencier
5db89bd9b8 bumped Symfony version to 2.1.3-DEV 2012-09-20 10:29:15 +02:00
Fabien Potencier
80ff285ae2 updated VERSION for 2.1.2 2012-09-20 09:13:00 +02:00
Fabien Potencier
f9467128ad fixed CHANGELOG 2012-09-18 19:22:28 +02:00
Fabien Potencier
6e5d341522 merged branch hason/wincache (PR #5436)
Commits
-------

9135431 [HttpKernel] Added support for WinCache in ConfigDataCollector

Discussion
----------

[HttpKernel] Added support for WinCache in ConfigDataCollector

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
License of the code: MIT
2012-09-18 19:22:16 +02:00
Fabien Potencier
bf41d8b74a merged branch fabpot/profiler-tests (PR #4897)
Commits
-------

22e9036 updated CHANGELOG
bafe890 [FrameworkBundle] changed Client::enableProfiler() behavior to fail silently when the profiler is not available (it makes it easier to write functional tests)
f41872b [FrameworkBundle] added a way to enable the profiler for the very next request in functional tests (closes #4307)
67b91e5 [HttpKernel] added a way to enable a disable Profiler

Discussion
----------

[2.2] added a way to enable the profiler for the very next request in a functional test

Bug fix: yes/no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #4307
Todo: -
License of the code: MIT
Documentation PR: should be done before merging

After merging this PR, we need to disable the profiler in the test environment in Symfony SE.
2012-09-18 16:35:58 +02:00
Fabien Potencier
81206a2c92 Merge branch '2.1'
* 2.1:
  Create CONTRIBUTING.md file for auto-linking in PR's
  Added Bulgarian translation
  [Profiler]Use the abstract method to get client IP
  Typo fix
  Fixing incorrect word in twig:lint command description
  Rename $key parameter to $name for consistency
  =Minor chnage: replaced function by method
  Fixed the phpdoc in the DependencyInjection component
2012-09-17 22:42:23 +02:00
Fabien Potencier
ff1b990075 merged 2.0 2012-09-17 22:41:57 +02:00
Thomas Tourlourat
de6658b902 [Profiler]Use the abstract method to get client IP 2012-09-17 16:33:21 +03:00
Martin Hasoň
91354311f0 [HttpKernel] Added support for WinCache in ConfigDataCollector 2012-09-17 10:32:13 +02:00
Fabien Potencier
f23fd03732 bumped Symfony version to 2.1.2-DEV 2012-09-11 11:12:50 +02:00
Fabien Potencier
173711a462 updated VERSION for 2.1.1 2012-09-11 07:00:41 +02:00
Besnik Br
3648abea9b =Minor chnage: replaced function by method 2012-09-10 20:40:01 +02:00
Fabien Potencier
13937de2c8 replaced self.version/2.1.* by 2.2.* in composer.json files 2012-09-10 12:59:37 +02:00
Fabien Potencier
a9a0f420e2 merged 2.1 2012-09-10 12:54:04 +02:00
Fabien Potencier
3c32fd993d replaced self.version by 2.1.* in composer.json files 2012-09-10 12:53:42 +02:00
Fabien Potencier
4dc197c3e1 udpated composer.json to 2.2 2012-09-06 20:45:30 +02:00
Fabien Potencier
cba2a31e36 bumped Symfony version to 2.2.0-DEV 2012-09-06 12:12:45 +02:00
Fabien Potencier
e7059b44c7 bumped Symfony version to 2.1.1-DEV 2012-09-06 12:12:03 +02:00
Fabien Potencier
5745b53d05 updated VERSION for 2.1.0 2012-09-06 11:01:56 +02:00
Jonathan Ingram
a094f7e2a5 Add check to Store::unlock to ensure file exists
Fix indentation and shorten code
2012-08-29 16:45:40 +10:00
Fabien Potencier
e35b4d8afe bumped Symfony version to 2.1.0-DEV 2012-08-28 10:43:50 +02:00
Fabien Potencier
462f93ad12 bumped Symfony version to 2.0.18-DEV 2012-08-28 10:43:15 +02:00
Fabien Potencier
39606c8c3f updated VERSION for 2.1.0-RC2 2012-08-28 10:00:18 +02:00
Fabien Potencier
348babccba updated VERSION for 2.0.17 2012-08-28 09:05:44 +02:00
Fabien Potencier
c29edb5e2e merged 2.0 2012-08-26 11:32:04 +02:00
William DURAND
933e821496 Add minimum-stability (dev) in each component 2012-08-22 15:48:41 +02:00
Fabien Potencier
d6374ae531 bumped Symfony version to 2.1.0-DEV 2012-08-04 12:04:35 +02:00
Fabien Potencier
443e77ddec updated VERSION for 2.1.0-RC1 2012-08-04 11:32:21 +02:00
Fabien Potencier
788e5eb730 [HttpKernel] added a way to override the default response status code when handling an exception (closes #5043) 2012-07-31 10:32:57 +02:00
Pascal Borreli
6ac8e7308d Fixed typos 2012-07-28 22:02:29 +00:00
Pascal Borreli
4c726ea64c Fixed Phpdoc 2012-07-28 16:07:17 +00:00
Fabien Potencier
2aaa4ed84e bumped Symfony version to 2.1.0-DEV 2012-07-23 19:27:52 +02:00
Fabien Potencier
d81b9f56cb updated VERSION for 2.1.0-BETA4 2012-07-23 19:10:10 +02:00
Fabien Potencier
4ce724936a moved the request data collector to HttpKernel 2012-07-18 10:39:53 +02:00
Fabien Potencier
a7503fb399 added a missing comment 2012-07-18 10:24:35 +02:00
Guilherme Blanco
1f3375695c Update master 2012-07-17 00:00:12 -03:00
Fabien Potencier
151b79a6ce bumped Symfony version to 2.1.0-DEV 2012-07-15 20:27:15 +02:00
Fabien Potencier
613445fd0f updated VERSION to 2.1.0-BETA3 2012-07-15 20:05:02 +02:00
Fabien Potencier
8c32a8e936 fixed guessRoute() 2012-07-15 19:49:08 +02:00
Fabien Potencier
8f82e07429 made RequestDataCollector from HttpKernel and FrameworkBundle compatible 2012-07-15 19:07:14 +02:00
Fabien Potencier
dd8a401e68 made the Kernel dep optional in ConfigDataCollector 2012-07-15 19:03:03 +02:00
Fabien Potencier
0875124fee moved the router data collector to HttpKernel 2012-07-15 18:35:25 +02:00
Fabien Potencier
cd24e6ea8f Revert "raised the minimum version of PHP to 5.3.4 (closes #3856)"
This reverts commit 2dcc44897e.
2012-07-15 12:13:51 +02:00
Fabien Potencier
baf990b762 [HttpKernel] fixed the request data collector which always started the session (closes #4915) 2012-07-14 15:04:55 +02:00
Fabien Potencier
2dcc44897e raised the minimum version of PHP to 5.3.4 (closes #3856)
We've raised the minimum version of PHP because of a PHP
bug before 5.3.4:

https://bugs.php.net/bug.php?id=52083
https://bugs.php.net/bug.php?id=50027
2012-07-13 21:22:46 +02:00
Fabien Potencier
67b91e562b [HttpKernel] added a way to enable a disable Profiler 2012-07-13 15:39:54 +02:00
Fabien Potencier
498759a2e8 [HttpKernel] fixed HTTP exception headers in ExceptionHandler 2012-07-13 12:14:13 +02:00
Fabien Potencier
3f05e7047f ensured that an exception is always converted to an error response (and that we keep the HTTP status code and headers) 2012-07-13 11:55:51 +02:00
Fabien Potencier
295860dfaf [HttpKernel] avoid hidding exceptions set in exception listeners (see the Security ExceptionListener for some examples) 2012-07-13 11:25:52 +02:00
Fabien Potencier
bd18907150 [HttpKernel] moved some mis-placed logic to FlattenException 2012-07-13 09:48:10 +02:00
Fabien Potencier
fdf320d642 [HttpKernel] removed obsolete code (the status code is already taken care of in FlattenExceptiondirectly) 2012-07-13 09:19:21 +02:00
Fabien Potencier
485c3d975e bumped Symfony version to 2.0.17-DEV 2012-07-11 20:25:42 +02:00
Fabien Potencier
11ae9c9740 updated VERSION for 2.0.16 2012-07-11 19:51:30 +02:00
Jonathan Ingram
02e0a8f232 Allow Kernel::$name to be overridden by subclasses
Because the name of the kernel is calculated in the constructor,
any child class that had overriden the kernel name, will be
ignored.

By setting the kernel name in the child class, we can avoid having
to execute the regex to calculate the name upon every construction
of a Kernel.

A test (and a kernel fixture) is added to prove that the override
works correctly.

Note: the Kernel API has not been touched, so there should be no
issues with BC.
2012-07-11 16:13:02 +10:00
Fabien Potencier
e83c1a590a [HttpKernel] tweaked a phpdoc 2012-07-10 16:40:07 +02:00
Fabien Potencier
c47bbc129e [HttpKernel] tried to clarify the goal of Bundle::getParent() (closes #4347) 2012-07-10 14:55:30 +02:00
Beau Simensen
28b6557915 class_exists was returning fals for the container aware interface 2012-07-09 09:02:51 -07:00
Fabien Potencier
d100ffaf76 fixed CS 2012-07-09 14:54:20 +02:00
Fabien Potencier
03d22b74ec fixed CS (mainly method signatures) 2012-07-09 14:43:50 +02:00
Fabien Potencier
6e1e49e3d6 bumped Symfony version to 2.1.0-DEV 2012-07-09 11:39:24 +02:00
Fabien Potencier
70bb756cd8 updated VERSION for 2.1.0 2012-07-09 09:52:38 +02:00
Włodzimierz Gajda
d1a142ebe8 Issue #4719 - (Redis and Memcached fixes and test) 2012-07-09 09:18:22 +02:00
Fabien Potencier
97b017bf3f merged branch gajdaw/kernel_test_fix (PR #4766)
Commits
-------

6de6806 [Component][HttpKernel] fixed testGetRootDir() on Win

Discussion
----------

[Component][HttpKernel] fixed testGetRootDir() on Win

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: [![Build Status](https://secure.travis-ci.org/gajdaw/symfony.png?branch=kernel_test_fix)](http://travis-ci.org/gajdaw/symfony)
Fixes the following tickets: -
Todo: -
License of the code: MIT
Documentation PR: -

Method `getRootDir()` returns path containing slashes. On Windows machine `__DIR__` and `DIRECTORY_SEPARATOR` are backslashes. To pass the test on win machine we have to translate `\` into `/`.
2012-07-08 12:14:29 +02:00
Janusz Jablonski
74aa5021df [HttpKernel] Fix #4719. Added condition which verify existence of profiler dump file. If file does not exists script inserts record to csv file. 2012-07-08 12:07:05 +02:00
Włodzimierz Gajda
6de6806123 [Component][HttpKernel] fixed testGetRootDir() on Win 2012-07-06 08:26:06 +02:00
Victor Berchet
6b87981641 [TimeDataCollector] Do not throw an exception when no events are recorded 2012-07-03 18:15:20 +02:00
Fabien Potencier
d9439aba71 made the charset overridable (closes #2072)
The charset was configurable in a configuration file but it never worked:

    framework:
        charset: ISO-8859-1

Now, like for the cache and log dirs, you can configure the charset by
overriding the getCharset() method in the app kernel:

    public function getCharset()
    {
        return 'ISO-8859-1';
    }
2012-07-03 10:28:30 +02:00
Fabien Potencier
81fe2ff8e2 merged branch fabpot/locale-listener (PR #4692)
Commits
-------

88caf3a [HttpKernel] removed the storage of the current locale in the session

Discussion
----------

[HttpKernel] removed the storage of the current locale in the session

Before this commit, the current locale was stored in the session (if one
was already started). That way, for the next requests, even if the
request locale attribute was not set, the locale was "restored".

But this is a really bad practice as it means that the same URL can have
a different content depending on the previous requests. It would have
been better if the Vary header was set but the locale can be different
from the value coming from the Accept-Language anyway.

This is a BC break but fortunately, you can restore the 2.0 behavior by
creating a simple event listener that contains the logic removed by this
commit.

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

by travisbot at 2012-07-01T06:56:48Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1748659) (merged 009e30f0 into 2e356c1a).

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

by schmittjoh at 2012-07-01T08:15:46Z

How about using a cookie instead? It would remove the BC break, and also be possible to use a vary header?

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

by fabpot at 2012-07-01T09:13:44Z

The goal is to make Symfony as stateless as possible; introducing a cookie would defeat this goal.

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

by drak at 2012-07-01T09:19:37Z

@fabpot - thank you for bringing this to attention. I was meaning to do it a long time ago. The requested language is entirely a per request issue and must always be so. URLs must only ever return one content, and not multiple (e.g. different languages). The correct way to behave is to detect the language based on URL and failing that where a language is not requested, to look at the preferred language from the browser request and if available it can be redirected to that resource (e.g. /fr). This is what we do in Zikula. We have a further session based setting for "preferred language" which if set will override the browser default.

In summary:

1. If the language is specified in the GET request, return that language always. E.g. domain.com/fr/foo should return a French version of foo

2. If no language is specified in the GET request: first check the session for a preferred language, otherwise check the browser string for the preferred language and then if necessary, redirect to that resource. We have a setting which additionally say "always have language in URL, and don't put language code in URL for default language"

This means what in Zikula we only ever have one URL per language version of a page, but it still allows for users to set their preferred language which is taken in to account mainly when they visit the homepage (but in fact any page without a specific language in the request).

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

by drak at 2012-07-01T09:38:06Z

+1 on this PR. Basically the request locale should be in the Request object and calculated according to the applications preferences.

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

by schmittjoh at 2012-07-01T12:38:25Z

I agree that content must be detected based on the request, but I strongly disagree with relying entirely on the URL.

@fabpot, if you think about it using a cookie would still be stateless. There would be no state whatsoever, the detection would be entirely based on the request. Whether the language information is transmitted in the URL or as part of request headers is for the developer to decide eventually, at least IMO. My suggestion would just provide a default which is more BC.

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

by drak at 2012-07-01T20:08:50Z

@schmittjoh it's not entirely from the URL, there are browser preferences and also user defaults ca nalso available but the latter is slightly higher level. IMO it's not really Symfony's job here, it's application level specific. We have a pretty good working example of that in Zikula. Anyone can easily implement your own requirements with a listener.

What is absolutely clear however is it is wrong for one URL to deliver more than one version of any content.

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

by schmittjoh at 2012-07-01T21:16:52Z

I'm 100% for this change. My suggestion would just be more BC while still keeping Symfony2 stateless. Of course, it can be easily implemented in userland if we do not care about BC here.

Regarding different URLs per content, I do not think that this is our decision to make. Generally, developers should be able to make whatever content negotation they see fit. Whether they rely solely on the URL, or also take other request headers into account should not be limited by Symfony2.

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

by fabpot at 2012-07-02T10:37:26Z

I've added a paragraph in the UPGRADE file with a listener example that can be used to keep BC.
2012-07-02 12:37:57 +02:00
Fabien Potencier
88caf3a370 [HttpKernel] removed the storage of the current locale in the session
Before this commit, the current locale was stored in the session (if one
was already started). That way, for the next requests, even if the
request locale attribute was not set, the locale was "restored".

But this is a really bad practice as it means that the same URL can have
a different content depending on the previous requests. It would have
been better if the Vary header was set but the locale can be different
from the value coming from the Accept-Language anyway.

This is a BC break but fortunately, you can restore the 2.0 behavior by
creating a simple event listener that contains the logic removed by this
commit.
2012-07-02 12:36:25 +02:00
Fabien Potencier
b6e4fd0393 [HttpKernel] fixed a test 2012-07-01 23:28:11 +02:00
Fabien Potencier
8a3f5bd323 merged branch Tobion/requestmatcher (PR #4582)
Commits
-------

7464dcd added phpdoc
c413e7b [Routing] remove RequestContextAwareInterface from RequestMatcherInterface
921be34 [Routing] fix phpdoc

Discussion
----------

[Routing] RequestMatcherInterface doesn't need context

Matchers that implement RequestMatcherInterface should match a Request, thus they don't need the request context.

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

by travisbot at 2012-06-14T21:39:48Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1624496) (merged f5ff1fe0 into 7c91ee57).

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

by schmittjoh at 2012-06-15T13:32:59Z

I think it makes sense to remove the RequestContext from the RequestMatcher.

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

by travisbot at 2012-06-15T15:54:28Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1628931) (merged 7464dcd2 into f881d282).

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

by Tobion at 2012-06-26T12:32:06Z

Anything missing?
2012-07-01 23:09:16 +02:00
Fabien Potencier
8ebe624b82 [HttpKernel] added some unit tests 2012-06-29 08:38:15 +02:00
Fabien Potencier
fd0e589c2b fixed sub-requests with a different method than the main request 2012-06-29 08:31:02 +02:00
Fabien Potencier
c4a8feb68b merged branch Wotre/master (PR #4640)
Commits
-------

81d0552 Adding the database to the DSN we are sending to the MongoDB server

Discussion
----------

Adding the database to the DSN we are sending to the MongoDB server

Adding the database to the DSN we are sending to the MongoDB server.

According to the [documentation from PHP](http://be2.php.net/manual/en/mongo.construct.php) the database will default to admin if it isn't specified in this DSN. Unfortunately the username we're trying to login with shouldn't have access to this database.

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

by travisbot at 2012-06-23T13:54:28Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1688817) (merged 2251be90 into 0d4b02e4).

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

by travisbot at 2012-06-25T11:34:17Z

This pull request [fails](http://travis-ci.org/symfony/symfony/builds/1700214) (merged 45d0748b into 0d4b02e4).

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

by Wotre at 2012-06-25T12:16:49Z

It looks to me like travisbot failed because of an error in the routing system that was fixed in c67cf8b56b, not because of the code I altered.

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

by travisbot at 2012-06-25T16:45:12Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1702410) (merged aa659463 into 0d4b02e4).

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

by fabpot at 2012-06-26T05:07:37Z

Can you squash your commits before I merge? Thanks.

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

by Wotre at 2012-06-26T12:02:02Z

I think I've managed to do that, but correct me if I've done something wrong :)

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

by travisbot at 2012-06-26T12:05:19Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1710220) (merged dcb79089 into 0d4b02e4).

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

by fabpot at 2012-06-26T12:14:28Z

@Wotre Unfortunately, that's wrong. You can read how to do that in the contrib docs: http://symfony.com/doc/current/contributing/code/patches.html#rework-your-patch

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

by Wotre at 2012-06-26T12:37:59Z

Thanks for the help, looks like I forgot the -f when pushing. It should be okay now
2012-06-26 14:41:54 +02:00
Wotre
81d0552ba4 Adding the database to the DSN we are sending to the MongoDB server 2012-06-26 13:59:41 +02:00
David Zuelke
34ab4812b5 Fix severity, file and line in ErrorExceptions
Fix `ErrorHandler` only handing an error message to the constructor of
`ErrorException`, but not the severity, file name or line number.
2012-06-25 22:04:54 +02:00
Fabien Potencier
03c8d4d2b0 bumped Symfony version to 2.1.0-DEV 2012-06-25 09:25:26 +02:00
Fabien Potencier
0f9be2fac4 updated VERSION for 2.1.0 2012-06-21 15:32:16 +02:00
Alexander
441c0983f6 [HttpKernel] Remove unneeded test class (suggestion by @stof) 2012-06-18 10:36:28 +02:00
Alexander
0b0fe74e93 [HttpKernel] Fix component 'standalone' testsuite
- Missing dependency in one file
- Move helper class out of KernelTest because it implemented an
  interface that depends on another component (thus would crash the
  testsuite if invoked)
2012-06-18 10:32:28 +02:00
Tobias Schultze
7464dcd206 added phpdoc 2012-06-15 17:33:40 +02:00
Tobias Schultze
c413e7ba39 [Routing] remove RequestContextAwareInterface from RequestMatcherInterface 2012-06-15 17:27:49 +02:00
Fabien Potencier
0f67ca88c1 [HttpFoundation] fixed StreamedResponse with HEAD as a method (closes #4502) 2012-06-13 16:21:50 +02:00
Christophe Coevoet
92e028f1f0 Changed the typehint in the LocaleListener
The listener does not depend on the RouterInterface but only on the
RequestContextAwareInterface which is also implemented by the matcher
and the generator. Changing the typehint allow reusing the listener
in Silex.
2012-06-13 16:06:22 +02:00
Fabien Potencier
77839690d9 changed getName() to name on all Reflection* object calls (fixes #4555, refs https://bugs.php.net/bug.php?id=61384) 2012-06-12 14:23:19 +02:00
Fabien Potencier
ba16a51d37 changed getName() to name on all Reflection* object calls (fixes #4555, refs https://bugs.php.net/bug.php?id=61384) 2012-06-12 13:59:42 +02:00
Fabien Potencier
6266b72ddc merged branch dlsniper/wdt-session-metadata (PR #4428)
Commits
-------

8dd2af7 Added Session Metadata info to the Request section of the WDT

Discussion
----------

[WebProfilerBundle] Added Session Metadata info to the Request section of the WDT

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: [![Build Status](https://secure.travis-ci.org/dlsniper/symfony.png?branch=wdt-session-metadata)](http://travis-ci.org/dlsniper/symfony)
Fixes the following tickets: #4181
Todo: ~
License of the code: MIT
Documentation PR: ~

This PR adds some session metadata available into the WDT (Created, Last used, Lifetime specifically).
If you'd like to see more info then let me know.

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

by travisbot at 2012-05-26T21:11:56Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1443801) (merged 9b0b4383 into 9e951991).

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

by travisbot at 2012-05-26T21:24:27Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1443856) (merged 31858319 into 9e951991).

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

by drak at 2012-05-27T00:48:37Z

Nice addition.

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

by dlsniper at 2012-05-31T21:21:37Z

@drak While using this patch on a production application I've noticed that the `$request->hasSession()` section will fail to recognize that there's no session anymore in the app if I'm not using the auto-start feature. I'm using the latest master branch, updated today around 12:00 UTC. Clearly this is not the right place to discuss that there's a problem with ::hasSession() but I wanted to ask someone else for an opinion before creating the issue/fix for it.

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

by stof at 2012-06-09T10:14:05Z

@dlsniper create an ticket for it, and it will become the best place to discuss it :)

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

by dlsniper at 2012-06-09T10:42:58Z

Ok, but then can this be merged meanwhile?

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

by stof at 2012-06-09T10:58:39Z

@fabpot  👍

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

by dlsniper at 2012-06-09T17:36:24Z

I've opened #4529 to address the issue seen in the comment.
2012-06-09 21:44:05 +02:00
Niklas Fiekas
2277500835 [Routing][HttpKernel] Add RequestMatcherInterface.
While UrlMatcherInterface is only for matching URLs with routes, add
RequestMatcherInterface, that allows to match against whole requests.
2012-06-07 09:37:25 +02:00
Fabien Potencier
9a5e6c9081 bumped Symfony version to 2.0.16-DEV 2012-05-31 17:18:01 +02:00
Fabien Potencier
c2480c1e73 updated VERSION for 2.0.15 2012-05-30 18:59:58 +02:00
Fabien Potencier
adf07f1e53 merged 2.0 2012-05-27 12:30:27 +02:00
Florin Patan
8dd2af77a4 Added Session Metadata info to the Request section of the WDT 2012-05-27 00:21:50 +03:00
Bernhard Schussek
90516223ab Fixing email 2012-05-26 09:48:33 +02:00
jaugustin
35b458f6b8 fix kernel root, linux dir separator on windows, to fix cache:clear issue 2012-05-25 09:39:01 +02:00
Fabien Potencier
5ac20ed80b [HttpKernel] renamed a method 2012-05-22 12:04:55 +02:00
Fabien Potencier
148372be9e merged branch simon-n/master (PR #4321)
Commits
-------

46be121 added tokenDataExists() method to prevent loading complete profile structures upon writes

Discussion
----------

[HttpKernel] prevent loading complete profile structures upon writes

The abstract class "PdoProfilerStorage" uses its ::read() method to decide if a profiler record has to be updated or initially created upon a ::write() call. This possibly causes huge memory consumption, as ::read() recursively reads all existing profiles using ::createProfileFromData() calls. When handling many sub-request this may lead into either a "out of memory" or XDebug's "maximum nesting level reached" - whichever comes first.
To prevent this issue, I added a new protected method ::tokenDataExists() that simply checks whether a record for the token in question already exists in storage.

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

by travisbot at 2012-05-18T08:56:56Z

This pull request [passes](http://travis-ci.org/symfony/symfony/builds/1364303) (merged 46be1212 into 1e15f210).
2012-05-22 12:03:11 +02:00
Fabien Potencier
335d4eab86 fixed CS 2012-05-21 22:27:15 +02:00
Fabien Potencier
c01fed0c89 fixed CS 2012-05-21 22:25:19 +02:00
Fabien Potencier
9b7aab5e94 merged 2.0 2012-05-20 18:16:37 +02:00
Fabien Potencier
d48d88a05a merged 2.0 2012-05-19 09:24:03 +02:00
Fabien Potencier
cf11cc067f removed unused use statements 2012-05-19 09:22:59 +02:00
Fabien Potencier
3bdf52a16a fixed CS 2012-05-18 19:42:42 +02:00
Simon Neidhold
46be1212f2 added tokenDataExists() method to prevent loading complete profile structures upon writes 2012-05-18 10:19:27 +02:00
Fabien Potencier
a04acc8943 bumped Symfony version to 2.0.15-DEV 2012-05-18 09:50:24 +02:00
Fabien Potencier
b3799680d5 updated VERSION for 2.0.14 2012-05-17 18:30:49 +02:00
Christophe Coevoet
11e0d2322c [HttpKernel] Fixed the BundleInterface
The kernel expects bundles to implement ContainerAwareInterface (a fatal
error occurs if the method is not implemented). This is done in the base
class but not enforced in the interface.
2012-05-17 12:34:40 +02:00
Fabien Potencier
41621e42e9 fixed phpdoc @param alignment 2012-05-15 22:19:31 +02:00
Fabien Potencier
ce9791246b fixed phpdoc @param alignment 2012-05-15 18:56:32 +02:00
Fabien Potencier
982c369f37 added @ to all chmod() calls to avoid PHP warnings (operation not permitted) when using CIFS or NTFSa (closes #2125) 2012-05-15 08:44:52 +02:00
Fabien Potencier
6bcdd321e6 [HttpKernel] fixed unit tests when run standalone (closes #4266, patch from Gator92) 2012-05-15 08:39:08 +02:00
Fabien Potencier
cbc3ed36b9 [HttpKernel] added some constant for better forward compatibility 2012-05-11 18:16:17 +02:00
Fabien Potencier
48099a852c [HttpKernel] added more fine-grained information about the version (the constant are named after the PHP ones) 2012-05-10 08:02:55 +02:00
Fabien Potencier
3719c70870 updated minimum PHP version to 5.3.3
5.3.3 has some interesting fixes and this is the version used by
Redhat 6 and Debian 6
2012-05-07 10:29:11 +02:00
Tobias Schultze
b1de2a2f2f [HttpKernel] fix typo, commit 9fed41 fixed only half of it 2012-05-01 21:35:18 +03:00
Fabien Potencier
9fed41ee9b [HttpKernel] fixed typo 2012-05-01 18:02:24 +02:00
Fabien Potencier
5bed5f3c2c merged branch willdurand/fix-components (PR #4155)
Commits
-------

c195957 [Components] Tests/Autoloading fixes

Discussion
----------

Fix components

See #4141

----
This PR:

* configures each component to use composer to manage "dev" dependencies instead of env variables;
* adds phpunit configuration file on Filesystem component;
* fixes READMEs.

It's mergeable without any problems, but I would recommend to wait a fix in Composer in order to use `self.version` in `require`/`require-dev` sections.

Note: I kept `suggest` sections because it makes sense but this PR doesn't aim to provide useful explanations for each entry. It could be another PR, not that one.

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

by willdurand at 2012-04-30T20:43:13Z

@fabpot I reviewed each component, one by one. Now `phpunit` always works, even if tests are skipped. A simple `composer install --dev` allows to run the complete test suite. Each commit is well separated from the others. I guess, everything is ok now.

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

by Tobion at 2012-04-30T20:47:00Z

Please squash, as it makes no sense to have the same commit for each component.

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

by fabpot at 2012-05-01T14:26:11Z

Can you squash your commits before I merge? Thanks.

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

by willdurand at 2012-05-01T14:29:38Z

done

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

by fabpot at 2012-05-01T15:48:25Z

It does not seem that the commits are squashed.

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

by willdurand at 2012-05-01T15:54:08Z

done
2012-05-01 17:59:34 +02:00
William DURAND
c1959571ac [Components] Tests/Autoloading fixes
* Switched to Composer to manage "dev" dependencies
* Fixed READMEs
* Excluded vendor in phpunit.xml.dist files
* Fixed message in bootstrap.php files
* Added autoloader for the component itself
2012-05-01 17:51:41 +02:00
Fabien Potencier
26f933e7bd fixed CS 2012-05-01 15:23:48 +02:00
Andrej Hudec
991474be12 [HttpKernel] RedisProfilerStorage - Fix falling unit tests when Redis extension is not available 2012-04-30 20:54:41 +02:00
Fabien Potencier
59dd4df7f4 bumped Symfony version to 2.0.14-DEV 2012-04-30 18:52:26 +02:00
Fabien Potencier
dbd95683aa merged branch pulzarraider/memcache_profiler_update (PR #4150)
Commits
-------

1f6c8d5 [HttpKernel] Added mock objects for Memcache(d) and Redis
e17217b [HttpKernel] Remove destructive flush() from memcache(d) storage profilers

Discussion
----------

[HttpKernel] Memcache and Redis profiler storage update

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -

Changes of this PR:

- change ```purge()``` method of memcache(d) profiler storage to delete only required items and be less destructive,
- mock objects for Redis and Memcache(d) storages were added to make unit tests independent from memcache(d)/redis extensions and memcache(d)/redis servers running on localhost.
2012-04-30 17:38:04 +02:00
Fabien Potencier
b66b6fc99e updated VERSION for 2.0.13 2012-04-30 15:31:20 +02:00
Andrej Hudec
1f6c8d5c7e [HttpKernel] Added mock objects for Memcache(d) and Redis 2012-04-29 01:33:14 +02:00
Andrej Hudec
e17217b14a [HttpKernel] Remove destructive flush() from memcache(d) storage profilers 2012-04-27 22:40:33 +02:00
Fabien Potencier
4ac3bddb5d Revert "merged branch Tobion/patch-3 (PR #4136)"
This reverts commit 606ddf48c5, reversing
changes made to 00e7a94a8c.
2012-04-27 19:55:49 +02:00
Fabien Potencier
9fbf8555f0 Revert "merged branch Seldaek/master (PR #4133)"
This reverts commit 00e7a94a8c, reversing
changes made to a01dec00f4.
2012-04-27 19:55:40 +02:00
Fabien Potencier
606ddf48c5 merged branch Tobion/patch-3 (PR #4136)
Commits
-------

5a85c2a bump master branch to version 2.2

Discussion
----------

bump master branch to version 2.2
2012-04-27 17:57:52 +02:00
Tobias Schultze
5a85c2a0e5 bump master branch to version 2.2 2012-04-27 15:58:17 +03:00
Jordi Boggiano
00c4267726 Update branch aliases 2012-04-27 12:47:50 +02:00
Adán Lobato
42a73f4e51 Typo fix 2012-04-27 10:21:46 +02:00
Fabien Potencier
42d7151e51 [HttpKernel] added CHANGELOG 2012-04-26 21:46:32 +02:00
Fabien Potencier
76ef8da030 merged 2.0 2012-04-25 12:18:06 +02:00
William DURAND
c89f3d3b88 [HttpKernel] Added DEPRECATED errors 2012-04-24 12:21:59 +02:00
Bilal Amarni
167597c0bd removed unused use statement 2012-04-21 11:24:50 +02:00
Fabien Potencier
cdca62559d merged branch jfsimon/issue-3896 (PR #4029)
Commits
-------

686653a [HttpKernel] Fixed wache vary write (fixes #3896).

Discussion
----------

[HttpKernel] Fixed cache vary write (fixes #3896).

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #3896

Same as https://github.com/symfony/symfony/pull/4001, but for write method.
2012-04-20 14:03:12 +02:00
jeanfrancois.simon
686653ae3c [HttpKernel] Fixed wache vary write (fixes #3896). 2012-04-20 13:29:15 +02:00
Fabien Potencier
539634cbaa merged 2.0 2012-04-20 12:18:51 +02:00
Fabien Potencier
56a4ab7903 made some private protected as many users needs to override the default implementation anyway (closes #3942) 2012-04-20 09:20:31 +02:00
Fabien Potencier
866b13e5fc merged branch Crell/flatten-exception (PR #4017)
Commits
-------

1c290d7 Add unit tests for FlattenException::getLine() and FlattenException::getFile().
a22f0cd Enhance FlattenException to include more methods from Exception.  That allows it to be used in place of Exception in more places.

Discussion
----------

[HttpKernel] Enhance FlattenException to include more methods from Exception.

I'm trying to retrofit FlattenException into Drupal, in places where Drupal expects an Exception.  That doesn't quite work though, as FlattenException only has some of the methods from Exception.  I'm not entirely clear why it only has some, but this PR adds getFile() and getLine() so that it's a more ready drop-in.  I did not add them to the toArray() method for fear of breaking BC somewhere, but that could be done as well no doubt if folks felt it was appropriate.

Note: While the parts of Drupal in question will get rewritten later anyway, I think having this information exposed is a good thing in general for logging purposes if nothing else.  It's already possible to dig it out of the trace, so this is just an improved "Developer eXperience" (DX).

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

by fabpot at 2012-04-20T04:34:54Z

I'm +1 to make `FlattenException` more "compatible" with `Exception`. Can you add the other missing methods? Also, you need to populate the `$this->file` and `$this->line` value in the constructor.

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

by Crell at 2012-04-20T04:48:40Z

I knew I was forgetting something obvious...

According to http://us.php.net/manual/en/class.exception.php, I think the only other missing method is http://us.php.net/manual/en/exception.gettraceasstring.php.  I'm not sure how useful that is, but I can try to approximate it if you think it's necessary.  (Honestly I've never used that method on an exception myself.)

I should probably add some tests, too.  Stand by for those.

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

by Crell at 2012-04-20T05:00:28Z

Now includes unit tests to make sure I didn't do anything stupid this time.  I'll hold off on getTraceAsString() for now unless you think it's needed.  (I'm not sure it is since it's harder to do and IMO less useful.)
2012-04-20 07:41:36 +02:00
Larry Garfield
1c290d7af2 Add unit tests for FlattenException::getLine() and FlattenException::getFile(). 2012-04-19 23:59:28 -05:00
Larry Garfield
a22f0cdc32 Enhance FlattenException to include more methods from Exception. That allows it to be used in place of Exception in more places. 2012-04-19 23:45:54 -05:00
Victor Berchet
e0e451feb8 Fix umasks in chmod() calls 2012-04-19 15:47:04 +02:00
Jordi Boggiano
5c059aa121 Fix chmod() calls to apply umask 2012-04-19 13:35:17 +02:00
Fabien Potencier
d599442cc1 merged branch jfsimon/issue-3896 (PR #4001)
Commits
-------

cd783fb [HttpKernel] Fixed cache vary lookup (fixes #3896).

Discussion
----------

[HttpKernel] Fixed cache vary lookup (fixes #3896).

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #3896
2012-04-19 11:49:29 +02:00
jeanfrancois.simon
cd783fba06 [HttpKernel] Fixed cache vary lookup (fixes #3896). 2012-04-19 11:41:27 +02:00
Victor Berchet
01fcb08ea2 [HttpKernel] Fix the ProfilerListener (fix #3620) 2012-04-13 21:51:39 +02:00
Fabien Potencier
22177fa029 merged branch vicb/profiler/listener (PR #3920)
Commits
-------

b611db8 [Profiler] Sub requests are not Main requests
2551270 [Profiler] Minimize the number of Profile writes

Discussion
----------

[HttpKernel] Profiler Listener tweaks

* `setParent()` is called in [`Profile::addChild()`](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/HttpKernel/Profiler/Profile.php#L180) in 2.1
* The profiles are now only saved once only in the listener (either at the end of the main request or on an exception)
* The profiles are now only saved once only in the TraceableEventDispatcher (twice for the root profile when there is a kernel.terminate' event

[![Build Status](https://secure.travis-ci.org/vicb/symfony.png?branch=profiler/listener)](http://travis-ci.org/vicb/symfony)

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

by vicb at 2012-04-13T11:15:25Z

Not so sure for the save part... I'll double check
2012-04-13 18:56:35 +02:00
Victor Berchet
255127081a [Profiler] Minimize the number of Profile writes
squash

squash
2012-04-13 18:30:43 +02:00
Fabien Potencier
1547a82eae merged branch Tobion/httpkernel-test (PR #3906)
Commits
-------

c331f4a HttpKernel test fix on windows

Discussion
----------

HttpKernel test fix on windows

The changes in `StopwatchEventTest` are only for consistency with the other tests in this file.

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

by drak at 2012-04-13T04:16:19Z

@fabpot - This seems to be an eternal problem with the these particular tests. I wonder if there is a better way to do this.  How about a simple greater than condition to show time has elapsed?

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

by Tobion at 2012-04-13T04:33:04Z

The tests are fine. I didn't change them. Just made it more consistent.

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

by drak at 2012-04-13T04:49:20Z

Yes, but if you look at the history of these tests files, they are constantly being tweaked for whatever reason (and they often fail on windows builds randomly). This is a clear indication the tests are not robust and a different approach is probably warranted if it can be found.

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

by drak at 2012-04-13T04:52:53Z

@Tobion - regarding the commit message, what does "fix" refer to if the tests are fine?

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

by Tobion at 2012-04-13T04:56:39Z

The test in `KernelTest` did not pass for me. That's fixed.
2012-04-13 14:45:21 +02:00
Drak
82bbf3b8b1 [HttpKernel] Allow override of ContainerBuilder instance used to build container 2012-04-13 11:27:54 +05:45
Tobias Schultze
c331f4a306 HttpKernel test fix on windows 2012-04-13 00:48:19 +02:00
Fabien Potencier
72e854e943 fixed CS 2012-04-07 09:10:50 +02:00
Drak
d04638a9b5 [EventDispatcher] More logical positions for classes. 2012-04-04 22:03:00 +05:45
Fabien Potencier
4923483805 merged branch stof/autoloader_refactoring (PR #3756)
Commits
-------

f1f1494 Added an exception when passing an invalid object to ApcClassLoader
f5cb167 [ClassLoader] Added a DebugClassLoader using composition
0e54a22 Updated the changelog
eae772e [ClassLoader] Added an ApcClassLoader
4d1333f Changed the test autoloading to use the new autoloader
09850bd [ClassLoader] Added a simplified PSR-0 ClassLoader

Discussion
----------

Autoloader refactoring

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: [![Build Status](https://secure.travis-ci.org/stof/symfony.png?branch=autoloader_refactoring)](http://travis-ci.org/stof/symfony)

As discussed in #3623, I added a new ClassLoader instead of modifying the UniversalClassLoader, to be able to use the method names without BC concerns. The new class works the same than the composer autoloader regarding the handling of fallbacks, to be able to reuse namespace maps generated by composer.

```php
<?php

// autoload.php
require_once __DIR__.'/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ClassLoader.php';

$loader = new Symfony\Component\ClassLoader\ClassLoader();

$map = require __DIR__.'/vendor/.composer/autoload_namespaces.php';
$loader->addPrefixes($map);

$loader->register();
```

Differences with the composer class loader:

- Composer's ``add`` method is named ``addPrefix`` in the Symfony ClassLoader
- the methods related to the class map are removed as Symfony has a separate laoder for class maps
- the ``addPrefixes`` method is added, accepting a namespace map.

I also added a new ApcClassLoader which uses composition instead of inheriting from a class loader, which makes it far more easier to reuse (we could wrap a Composer autoloader with it for instance).

```php
<?php

$composerLoader = require __DIR__.'/vendor/.composer/autoload.php';

// no need to require the file manually as Composer already registered its autoloader
$cachedLoader = new Symfony\Component\ClassLoader\ApcClassLoader('autoload.my_app', $composerLoader);

$cachedLoader->register();
// unregister the Composer autoloader as we wrapped it in the ApcClassLoader
$composerLoader->unregister();
```

TODO:

- refactor the Debug class loader to use composition too to be able to support different class loaders

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

by fabpot at 2012-04-02T16:31:28Z

Can you update the CHANGELOG and the UPGRADE file accordingly?

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

by stof at 2012-04-02T16:47:43Z

I added a note in the CHANGELOG. There is nothing to add in the UPGRADE file as the change is fully BC (I did not change the UniversalClassLoader at all so it can still be used).

I'm working on the Debug loader right now so please wait a bit before merging

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

by stof at 2012-04-02T17:12:11Z

Here is a new DebugClassLoader using composition too. this way, it is able to support the UniversalClassLoader, the ApcUniversalClassLoader (without dropping the use of APC as done previously), the new ClassLoader, the new ApcClassLoader and even the composer autoloader.
I'm not sure about the use of ``method_exists`` as it could break if an autoloader implements a protected ``findFile`` method (crappy PHP 😢) but hardcoding the supported classes would be a pain and requiring an interface would make the autoloaders more difficult to use (as the interface would need to be required first) and would drop the support of the composer autoloader.
2012-04-02 20:28:07 +02:00
Christophe Coevoet
f5cb167554 [ClassLoader] Added a DebugClassLoader using composition 2012-04-02 19:03:58 +02:00
Eriksen Costa
2cac50d8a9 fixed CS (missing or misplaced license blocks) 2012-04-02 00:52:14 -03:00
Eriksen Costa
cf67870af7 fixed line break to LF 2012-03-31 18:11:43 -03:00
Eriksen Costa
013f998bb8 updated license blocks 2012-03-31 18:00:32 -03:00
Victor Berchet
234ce4df9e [PhpUnit] Fix the path to the boostrap files in the components 2012-03-30 13:49:28 +02:00
Fabien Potencier
fea6b79acd moved component and bridge unit tests to the src/ directory
This is the first step to make each Symfony Component and Bridge self-contained.
2012-03-29 08:37:22 +02:00
Fabien Potencier
a597453fb3 merged branch schmittjoh/configurableExtension (PR #3632)
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.
2012-03-23 16:03:48 +01:00
Fabien Potencier
54ce7c75e8 merged 2.0 2012-03-22 20:34:27 +01:00
Bilal Amarni
3638c72fe5 unused variable removed 2012-03-21 22:15:47 +01:00
Fabien Potencier
efa807aa7b [HttpKernel] fixed sub-request which should be always a GET (refs #3657) 2012-03-21 00:31:28 +01:00
Johannes M. Schmitt
3f2b9176e6 added a configurable extension base class 2012-03-18 21:15:55 -06:00
Fabien Potencier
f11f7fcbe0 bumped Symfony version to 2.0.13-DEV 2012-03-19 01:27:26 +01:00
Fabien Potencier
0ab776227a updated VERSION for 2.0.12 2012-03-19 00:57:46 +01:00
Arnaud Buathier
fbed9ff8de Update src/Symfony/Component/HttpKernel/HttpCache/HttpCache.php 2012-03-15 20:27:40 +01:00
Saem Ghani
77e8742056 Allow people to set the error level, this is especially important when dealing with misbehaving libraries as part of legacy integrations.
Usage would be to extend the Kernel, and set the errorReportingLevel prior to calling parent::__construct(). Not ideal, but this doesn't break BC and allows the user to defer the decision as late as possible. This can/should be handled better in 2.1.x
2012-03-07 20:25:35 +01:00
Andrej Hudec
100d59b4a9 Modified Memcache(d) dsn to be more intuitive. Chnged Exception texts in other storages. 2012-03-04 19:43:39 +01:00
Fabien Potencier
c4ded6aadc [HttpKernel] fixed CS 2012-03-03 01:45:26 +01:00
Andrej Hudec
86ebe5bcb9 Redis Profiler Storage
fixed typo and tests

- updated profiler tests
- added testPurge() method
- fixed find() method
2012-03-03 00:34:31 +01:00
Fabien Potencier
ab75727f43 fixed CS 2012-03-02 21:43:08 +01:00
Fabien Potencier
1bebf30454 merged branch snc/profiler-tests (PR #3454)
Commits
-------

ed8c1c0 Fixed AbstractProfilerStorageTest and some minor CS changes.
1ac581e Overwrite the profile data if the token already exists like in the other implementations.
198d406 Return profiler results sorted by time in descending order like in the other implementations.
9d8e3f2 Refactored profiler storage tests to share some code.

Discussion
----------

[WIP] Refactored profiler tests including some storage fixes

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes

While refactoring the tests I came across some inconsistencies. Two of them are already fixed in this PR.

One thing left is the [MongoDbProfilerStorageTest::testCleanup()](9d8e3f2da4/tests/Symfony/Tests/Component/HttpKernel/Profiler/MongoDbProfilerStorageTest.php (L51)) test which fails in all other storage implementations. The mongodb implementation uses the `time` value from the profiler data to clean up the storage while the others additionally save a `created_at` value which is then used. For me this `created_at` value does not make any sense and I would suggest to change the other implementations to use the `time` value for cleaning up. What do you think?

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

by pulzarraider at 2012-02-27T06:55:06Z

+1 for refactoring profiler tests, I will update my RedisProfilerStorage after your changes will be merged.

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

by snc at 2012-02-28T20:05:12Z

Any suggestions about the cleanup issue?
2012-03-02 21:37:15 +01:00
H. Westphal
ed8c1c0572 Fixed AbstractProfilerStorageTest and some minor CS changes. 2012-02-28 20:43:34 +01:00
Fabien Potencier
d9959af406 merged branch Seldaek/composer_alias (PR #3457)
Commits
-------

bafcaaf Removed version field
f9d9dc7 Add branch-alias for composer

Discussion
----------

Add branch-alias for composer

This should restore the 2.1-dev version (as an alias of dev-master) so that `2.*` or `2.1.*` constraints work again. I'll adjust packagist soon to also display those aliases.
2012-02-27 10:07:31 +01:00
Jordi Boggiano
bafcaafbe6 Removed version field 2012-02-27 09:59:20 +01:00
H. Westphal
1ac581e324 Overwrite the profile data if the token already exists like in the other implementations. 2012-02-26 14:59:49 +01:00
H. Westphal
198d406bc2 Return profiler results sorted by time in descending order like in the other implementations. 2012-02-26 14:56:32 +01:00
Jordi Boggiano
f9d9dc7ce9 Add branch-alias for composer 2012-02-25 03:26:20 +01:00
Fabien Potencier
2d4fb8ad50 updated VERSION for 2.0.11 2012-02-24 22:59:39 +01:00
Jordi Boggiano
09b1bd53b0 [HttpKernel] Remove the _controller since it is not a route parameter part of the url 2012-02-23 20:02:56 +01:00
Jeremy Mikola
15c6ba93f6 [HttpKernel] Fix call to Memcached::set() once again
I originally fixed this in #3358, but it appears #3363 (which touched the same line) was merged soon after.
2012-02-23 13:15:05 -05:00
Fabien Potencier
611b241f56 fixed CS 2012-02-22 19:03:34 +01:00
Fabien Potencier
f373085928 merged 2.0 2012-02-22 18:59:56 +01:00
marc.weistroff
89868f7901 Updated LICENSE files copyright 2012-02-22 10:10:37 +01:00
Victor Berchet
b95284e198 [Profiler] Fix memcache(d) 2012-02-15 10:50:58 +01:00
Fabien Potencier
574f2542df [HttpKernel] fixed flashes in the request data collector 2012-02-12 14:51:17 +01:00
Fabien Potencier
1e79e30c7b added back flashes into the request data collector (and in the web profiler) 2012-02-12 13:37:15 +01:00
Fabien Potencier
e986b9b7e5 merged branch pulzarraider/memcache_profiler_storage (PR #2766)
Commits
-------

7474293 memcache profiler storage support added

Discussion
----------

[HttpKernel] [FrameworkBundle] Memcache(d) Profiler Storage added

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -

There are 2 memcache PHP extensions: Memcache and MemcacheD (with "D" at the end) - both are supported.

How to use Memcache Profiler Storage (Memcache php extension is used):
change (or add if there isn't) "dsn" in framework/profiler section in config_dev.yml

```
...
framework:
    ...
    profiler:
        ...
        dsn: memcache://127.0.0.1/11211
...
```

How to use Memcached Profiler Storage (MemcacheD php extension is used):
change "dsn" in framework/profiler section in config_dev.yml

```
...
framework:
    ...
    profiler:
        ...
        dsn: memcached://127.0.0.1/11211
...
```

Last changes:
- memcached support addedd
- optimized performance (serialization done in extension, index is created with ```append``` function)
- updated to last version of Profiler (find by method, avoid duplications)
- done squash on commits

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

by stloyd at 2011-12-01T23:36:02Z

You need to add check for index name size, AFAIK memcache will fail if key is longer than 250 characters.

Also please do an `squash` for all those commits.

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

by pulzarraider at 2011-12-02T00:15:28Z

@stloyd Thanks. I will add the check for key length.

I am just starting with git. Could you please add some tutorial about squash to a documentation page: http://symfony.com/doc/2.0/contributing/code/patches.html ? It will help me (and maybe some others) to do it correct way.

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

by stof at 2011-12-02T00:19:01Z

http://help.github.com/rebase/

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

by pulzarraider at 2011-12-03T18:56:11Z

Thanks @stof, rebase done.

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

by dlsniper at 2011-12-11T14:00:17Z

Hi,

Would it be possible to either use Memcached instead of Memcache or make it configurable to use either Memcache or Memcached?
I've did a little digging on the benefits of using Memcached over Memcache (like for example: http://stackoverflow.com/questions/1442411/using-memcache-vs-memcached-with-php http://devzone.zend.com/1869/zendcon-sessions-episode-040-memcached-the-better-memcache-interface/ ) and maybe this will also help in not having two extensions installed for people who are using Memcached already.

Regards.

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

by pulzarraider at 2011-12-11T16:15:58Z

@dlsniper  thanks for great comment. I will add memcached support.

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

by stof at 2011-12-12T20:49:00Z

@pulzarraider what is the status of this PR ? Is it still a WIP ?

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

by pulzarraider at 2011-12-12T22:58:48Z

@stof Yes, it's still WIP. I'm working on a memcached (with D at the end) support. It will be finished in the next few days.

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

by dlsniper at 2011-12-15T12:51:52Z

@pulzarraider if I can help you with the PR let me know.

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

by pulzarraider at 2012-01-08T20:22:24Z

@dlsniper @stof I've finally added memcached support and done some optimizations. Memcache(d) profiler storage is now ready.

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

by dlsniper at 2012-01-08T22:12:29Z

I'm glad you finished this @pulzarraider
Thanks! for your hard work!

+1 for this PR

@stof, @fabpot is it good to go on master?

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

by pulzarraider at 2012-01-28T19:45:56Z

@stof, @fabpot ping
2012-02-12 13:26:06 +01:00
Fabien Potencier
7995b80bad merged branch vicb/profiler.terminate (PR #3223)
Commits
-------

3dd3d58 [EventListener] Fix an issue with sub-requests
71bf279 cleanup
acdb325 [StopWatch] Provide a cleaner API
acd1287 [Stopwatch] rename the section event to avoid collisions
eb540be [Profiler] Allow profiling the terminate event
4ccdc53 [HttpKernel] Cleanup of PdoProfilerStorage
814876f [HttpKernel] Tweak the code of the ProfilerListener

Discussion
----------

[Profiler] Allow profiling the terminate event

![Travis](https://secure.travis-ci.org/vicb/symfony.png?branch=profiler.terminate)

This PR is mainly about allowing to profile the terminate event (i.e. see it in the timeline panel)

There are some other tweaks.

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

by vicb at 2012-02-02T14:43:20Z

please don't merge for now. good question. bad answer.

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

by vicb at 2012-02-06T15:05:46Z

While first commits were focused on problem solving, the last brings a clean API with the ability to re-open an existing section in order to add events (re-setting event origins and merging them were just hacks).

Should be ready to be merged.

_Edit: Sorry, couldn't resist adding a private helper class again!_

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

by stof at 2012-02-06T18:30:09Z

@vicb you should stop adding such classes defined in the same file. Otherwise we will have to change the CS (and to stop telling we respect the PSR-0 standard)

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

by vicb at 2012-02-06T18:33:36Z

Once again PSR-0 is about autoloading which is exactly why I do not want in such cases. CS are an other matter and yes I think they should be changed to allow this (and I am going to submit a PR right now).

The only argument I could accept is whether this class should be private or not.

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

by vicb at 2012-02-06T19:57:06Z

Thanks for your valuable feedback @stof

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

by fabpot at 2012-02-11T20:53:03Z

Have you tested it on a project? Because it breaks my simple examples (where I have some sub-requests).

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

by vicb at 2012-02-12T09:47:23Z

my bad, should be ok now.
2012-02-12 13:12:18 +01:00
Victor Berchet
3dd3d582c4 [EventListener] Fix an issue with sub-requests 2012-02-12 10:44:50 +01:00
Fabien Potencier
745b9a6d6c [HttpKernel] fixed function support in ControllerResolver (closes #3331) 2012-02-12 00:34:53 +01:00
Victor Berchet
71bf279e9f cleanup 2012-02-06 20:55:45 +01:00
Victor Berchet
acdb325067 [StopWatch] Provide a cleaner API 2012-02-06 16:01:16 +01:00
Fabien Potencier
9ac6918624 bumped Symfony version to 2.0.11-DEV 2012-02-06 12:35:18 +01:00
Fabien Potencier
011b09ad1d updated VERSION for 2.0.10 2012-02-06 10:25:56 +01:00
Fabien Potencier
766b88fd21 [HttpKernel] added support for FlattenException in ExceptionHandler::createResponse 2012-02-05 12:11:13 +01:00
Fabien Potencier
b1148e334f merged 2.0 2012-02-04 08:03:45 +01:00
Victor Berchet
acd1287d02 [Stopwatch] rename the section event to avoid collisions 2012-01-31 08:41:00 +01:00
Victor Berchet
eb540bef29 [Profiler] Allow profiling the terminate event 2012-01-31 08:40:49 +01:00
Victor Berchet
4ccdc530bb [HttpKernel] Cleanup of PdoProfilerStorage 2012-01-31 08:27:53 +01:00
Victor Berchet
814876fb12 [HttpKernel] Tweak the code of the ProfilerListener 2012-01-31 08:27:53 +01:00
Fabien Potencier
916597eb29 fixed CS, phpdoc, removed unused use statements 2012-01-28 18:02:36 +01:00
Victor Berchet
416a2a46df [Stopwatch] Fix some logic 2012-01-25 14:27:59 +01:00
Victor Berchet
8c3505e33c [Profiler] Tweak PHPDoc 2012-01-25 13:31:27 +01:00
Victor Berchet
3bcd154a6c [HttpKernel] Tweak the Profile class - DRY 2012-01-25 13:25:50 +01:00
Jordi Boggiano
7f96c8ad17 [HttpKernel] Prevent php script execution in cached ESI pages using HttpCache 2012-01-24 19:27:21 +01:00
Fabien Potencier
35a61b3a52 [HttpKernel] added arguments to ExceptionHandler (closes #2739) 2012-01-22 16:53:27 +01:00
Fabien Potencier
53b3c8304f [HttpKernel] fixed indentation of generated HTML in ExceptionHandler 2012-01-22 11:20:16 +01:00
Fabien Potencier
8d79ebc8ce [HttpKernel] added some unit tests for ExceptionHandler and
FlattenException
2012-01-22 11:19:40 +01:00
Fabien Potencier
3c3d202255 fixed typo 2012-01-17 10:52:45 +01:00
Hugo Hamon
0c1832450d [HttpKernel] added extra information when collecting data from an object if that object implements a __toString(). 2012-01-17 09:22:00 +01:00
Fabien Potencier
5fa0f2d92b merged 2.0 2012-01-16 07:44:08 +01:00
Fabien Potencier
02a12b2c5c merged branch kriswallsmith/strpos (PR #3097)
Commits
-------

fe62401 optimized string starts with checks

Discussion
----------

optimized string starts with checks

Doing this with strpos() is slightly faster than substr().

```
Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -
```

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

by vicb at 2012-01-11T19:58:27Z

How faster ? even if the string is long and do not contain an occurrence of the sub-string ?
Looks like micro-(not)-optimizations to me.

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

by kriswallsmith at 2012-01-11T20:04:26Z

The difference is about 0.1s when repeated 1M times.

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

by vicb at 2012-01-11T20:08:12Z

% would be better (machine & env independant), what string size, what match offset ?
I personally vote against (`substr` is more meaningful to me and I do not like micro-optims)

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

by kriswallsmith at 2012-01-11T20:12:34Z

I personally consider this a coding standard but don't want to bikeshed here :)

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

by vicb at 2012-01-11T20:28:08Z

I have [tried](https://gist.github.com/1596588) at home.
`strpos ` **is** faster unless you have a very long string, probably because you do not need to create a new string, interesting, thanks for the tip.

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

by Tobion at 2012-01-11T22:40:18Z

I think strpos() is more useful. Say you want to change the string you have to replace 2 variables (the text and the length parameter) when using substr(). It could also introduce bugs when they don't match. With strpos() it's only the text.

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

by robocoder at 2012-01-11T22:43:22Z

alternate micro-optimization that doesn't create a temporary string:
```
strncmp($v, "@", 1) === 0
```

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

by Tobion at 2012-01-11T22:47:12Z

@robocoder probably the fastest solution but needs to be benchmarked
2012-01-12 18:48:45 +01:00
Kris Wallsmith
7f7f82a53e [HttpKernel] removed unnecessary regex
The pattern was also flawed because of the unescaped `.`
2012-01-12 09:33:03 -08:00
Kris Wallsmith
fe62401907 optimized string starts with checks
Doing this with strpos() is slightly faster than substr().
2012-01-11 11:33:56 -08:00
Fabien Potencier
fa1c946140 fixed some phpdoc 2012-01-11 15:52:51 +01:00
Victor Berchet
c0ad1ac170 [HttpKernel] Minor fixes in the Stopwatch 2012-01-10 22:23:16 +01:00
Andrej Hudec
747429341e memcache profiler storage support added
fix CS

fix CS + remove unneeded else

add documentation, change protected methods as private

rename var

throw exception for invalid name, index fix

memcache profiler storage support added, fix CS and minor bugs

fix CS

removed unneeded else

- memcached support added
- improved performance (serialization, index)

updated code to last version of Profiler
2012-01-10 00:33:54 +01:00
Fabien Potencier
8ce034fae0 Revert "merged 2.0"
This reverts commit 7000e944fd, reversing
changes made to 9d9013d662.
2012-01-08 20:43:02 +01:00
Fabien Potencier
3e9d937eb8 updated VERSION for 2.0.9 2012-01-06 07:49:25 +01:00
Fabien Potencier
7000e944fd merged 2.0 2012-01-05 14:54:04 +01:00
Fabien Potencier
208c2e468c removed the version attribute in all composer.json files 2012-01-05 14:51:20 +01:00
Fabien Potencier
cadf3d4243 [HttpKernel] fixed doubled results for the file profiler (closes #2915) 2012-01-02 12:10:17 +01:00
Fabien Potencier
3d5ecc0478 [HttpKernel] added the path info in the request data collector 2011-12-31 15:51:33 +01:00
Fabien Potencier
899e252032 merged branch symfony/streaming (PR #2935)
Commits
-------

887c0e9 moved EngineInterface::stream() to a new StreamingEngineInterface to keep BC with 2.0
473741b added the possibility to change a StreamedResponse callback after its creation
8717d44 moved a test in the constructor
e44b8ba made some cosmetic changes
0038d1b [HttpFoundation] added support for streamed responses

Discussion
----------

[HttpFoundation] added support for streamed responses

To stream a Response, use the StreamedResponse class instead of the
standard Response class:

    $response = new StreamedResponse(function () {
        echo 'FOO';
    });

    $response = new StreamedResponse(function () {
        echo 'FOO';
    }, 200, array('Content-Type' => 'text/plain'));

As you can see, a StreamedResponse instance takes a PHP callback instead of
a string for the Response content. It's up to the developer to stream the
response content from the callback with standard PHP functions like echo.
You can also use flush() if needed.

From a controller, do something like this:

    $twig = $this->get('templating');

    return new StreamedResponse(function () use ($templating) {
        $templating->stream('BlogBundle:Annot:streamed.html.twig');
    }, 200, array('Content-Type' => 'text/html'));

If you are using the base controller, you can use the stream() method instead:

    return $this->stream('BlogBundle:Annot:streamed.html.twig');

You can stream an existing file by using the PHP built-in readfile() function:

    new StreamedResponse(function () use ($file) {
        readfile($file);
    }, 200, array('Content-Type' => 'image/png');

Read http://php.net/flush for more information about output buffering in PHP.

Note that you should do your best to move all expensive operations to
be "activated/evaluated/called" during template evaluation.

Templates
---------

If you are using Twig as a template engine, everything should work as
usual, even if are using template inheritance!

However, note that streaming is not supported for PHP templates. Support
is impossible by design (as the layout is rendered after the main content).

Exceptions
----------

Exceptions thrown during rendering will be rendered as usual except that
some content might have been rendered already.

Limitations
-----------

As the getContent() method always returns false for streamed Responses, some
event listeners won't work at all:

* Web debug toolbar is not available for such Responses (but the profiler works fine);
* ESI is not supported.

Also note that streamed responses cannot benefit from HTTP caching for obvious
reasons.

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

by Seldaek at 2011/12/21 06:34:13 -0800

Just an idea: what about exposing flush() to twig? Possibly in a way that it will not call it if the template is not streaming. That way you could always add a flush() after your </head> tag to make sure that goes out as fast as possible, but it wouldn't mess with non-streamed responses. Although it appears flush() doesn't affect output buffers, so I guess it doesn't need anything special.

When you say "ESI is not supported.", that means only the AppCache right? I don't see why this would affect Varnish, but then again as far as I know Varnish will buffer if ESI is used so the benefit of streaming there is non-existent.

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

by cordoval at 2011/12/21 08:04:21 -0800

wonder what the use case is for streaming a response, very interesting.

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

by johnkary at 2011/12/21 08:19:48 -0800

@cordoval Common use cases are present fairly well by this RailsCast video: http://railscasts.com/episodes/266-http-streaming

Essentially it allows faster fetching of web assets (JS, CSS, etc) located in the &lt;head>&lt;/head>, allowing those assets to be fetched as soon as possible before the remainder of the content body is computed and sent to the browser. The end goal is to improve page load speed.

There are other uses cases too like making large body content available quickly to the service consuming it. Think if you were monitoring a live feed of JSON data of newest Twitter comments.

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

by lsmith77 at 2011/12/21 08:54:35 -0800

How does this relate the limitations mentioned in:
http://yehudakatz.com/2010/09/07/automatic-flushing-the-rails-3-1-plan/

Am I right to understand that due to how twig works we are not really streaming the content pieces when we call render(), but instead the entire template with its layout is rendered and only then will we flush? or does it mean that the render call will work its way to the top level layout template and form then on it can send the content until it hits another block, which it then first renders before it continues to send the data?

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

by stof at 2011/12/21 09:02:53 -0800

@lsmith77 this is why the ``stream`` method calls ``display`` in Twig instead of ``render``. ``display`` uses echo to print the output of the template line by line (and blocks are simply method calls in the middle). Look at your compiled templates to see it (the ``doDisplay`` method)
Rendering a template with Twig simply use an output buffer around the rendering.

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

by fabpot at 2011/12/21 09:24:33 -0800

@lsmith77: We don't have the Rails problem thanks to Twig as the order of execution is the right one by default (the layout is executed first); it means that we can have the flush feature without any change to how the core works. As @stof mentioned, we are using `display`, not `render`, so we are streaming your templates for byte one.

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

by fabpot at 2011/12/21 09:36:41 -0800

@Seldaek: yes, I meant ESI with the PHP reverse proxy.

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

by fabpot at 2011/12/21 09:37:34 -0800

@Seldaek: I have `flush()` support for Twig on my todo-list. As you mentioned, It should be trivial to implement.

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

by fzaninotto at 2011/12/21 09:48:18 -0800

How do streaming responses deal with assets that must be called in the head, but are declared in the body?

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

by fabpot at 2011/12/21 09:52:12 -0800

@fzaninotto: What do you mean?

With Twig, your layout is defined with blocks ("holes"). These blocks are overridden by child templates, but evaluated as they are encountered in the layout. So, everything works as expected.

As noted in the commit message, this does not work with PHP templates for the problems mentioned in the Rails post (as the order of execution is not the right one -- the child template is first evaluated and then the layout).

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

by fzaninotto at 2011/12/21 10:07:35 -0800

I was referring to using Assetic. Not sure if this compiles to Twig the same way as javascript and stylesheet blocks placed in the head - and therefore executed in the right way.

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

by fabpot at 2011/12/21 10:34:59 -0800

@Seldaek: I've just added a `flush` tag in Twig 1.5: 1d6dfad4f5

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

by catchamonkey at 2011/12/21 13:29:22 -0800

I'm really happy you've got this into the core, it's a great feature to have! Good work.
2011-12-31 08:12:02 +01:00
Fabien Potencier
228f3fc540 merged branch webfactory/tolerant_esi_include (PR #2952)
Commits
-------

cae7db0 Be more tolerant and also accept <esi:include ...></esi:include>, also if it is not 100% standards compliant.

Discussion
----------

Be more tolerant and also accept <esi:include ...></esi:include>

I know this is not 100% standards compliant, but:

We need to do some XHTML processing on the output using PHP's DOM extension and the underlying libxml2.

libxml2 seems to be unable to keep the <esi:include /> tag as such and will expand it to ```<esi:include ...></esi:include>```.

Note this has nothing to do with having LIBXML_NOEMPTYTAG set (http://php.net/manual/de/domdocument.savexml.php). Rather it seems to be a problem for libxml that it cannot recognize <esi:include> as an "EMPTY" tag (in the DTD sense) because it is not defined in a standard xhtml1-strict DTD.
2011-12-26 22:30:23 +01:00
Fabien Potencier
5b4e6190c4 updated VERSION for 2.0.8 2011-12-26 11:56:10 +01:00
Drak
79793e442a Coding standards and removing whitespace. 2011-12-24 15:50:47 +05:45
Fabien Potencier
b498138471 merged branch willdurand/filesystem-component (PR #2949)
Commits
-------

4afc6ac Updated CHANGELOG-2.1
3d3239c Added Filesystem Component mention in composer.json
5775a0a Added composer.json
b26ae4a Added README
fbe9507 Added LICENSE
818a332 [Component] Moved Filesystem class to its own component

Discussion
----------

Filesystem component

Related to #2946

William

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

by stof at 2011/12/22 10:58:25 -0800

you need to add the new component in the ``replace``  section of the main composer.json, and you also need to add it as a dependency for FrameworkBundle as it defines a service using it.

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

by stof at 2011/12/22 10:59:34 -0800

and you need to update the changelog file

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

by willdurand at 2011/12/22 11:06:04 -0800

@stof thanks. Is it ok ?

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

by stof at 2011/12/22 11:13:31 -0800

mentioning the move only once in the changelog would probably be enough (and it is especially not needed in the FrameworkBundle section IMO) but otherwise it's fine
2011-12-24 09:15:42 +01:00
Matthias Pigulla
cae7db0d19 Be more tolerant and also accept <esi:include ...></esi:include>, also if it is not 100% standards compliant. 2011-12-23 19:02:12 +01:00
Joseph Bielawski
9daa2a6cc8 [Profiler] Add function to get parent token directly 2011-12-23 09:45:13 +01:00
William DURAND
818a3321c0 [Component] Moved Filesystem class to its own component 2011-12-22 19:36:46 +01:00
Fabien Potencier
0038d1bac4 [HttpFoundation] added support for streamed responses
To stream a Response, use the StreamedResponse class instead of the
standard Response class:

    $response = new StreamedResponse(function () {
        echo 'FOO';
    });

    $response = new StreamedResponse(function () {
        echo 'FOO';
    }, 200, array('Content-Type' => 'text/plain'));

As you can see, a StreamedResponse instance takes a PHP callback instead of
a string for the Response content. It's up to the developer to stream the
response content from the callback with standard PHP functions like echo.
You can also use flush() if needed.

From a controller, do something like this:

    $twig = $this->get('templating');

    return new StreamedResponse(function () use ($templating) {
        $templating->stream('BlogBundle:Annot:streamed.html.twig');
    }, 200, array('Content-Type' => 'text/html'));

If you are using the base controller, you can use the stream() method instead:

    return $this->stream('BlogBundle:Annot:streamed.html.twig');

You can stream an existing file by using the PHP built-in readfile() function:

    new StreamedResponse(function () use ($file) {
        readfile($file);
    }, 200, array('Content-Type' => 'image/png');

Read http://php.net/flush for more information about output buffering in PHP.

Note that you should do your best to move all expensive operations to
be "activated/evaluated/called" during template evaluation.

Templates
---------

If you are using Twig as a template engine, everything should work as
usual, even if are using template inheritance!

However, note that streaming is not supported for PHP templates. Support
is impossible by design (as the layout is rendered after the main content).

Exceptions
----------

Exceptions thrown during rendering will be rendered as usual except that
some content might have been rendered already.

Limitations
-----------

As the getContent() method always returns false for streamed Responses, some
event listeners won't work at all:

* Web debug toolbar is not available for such Responses (but the profiler works fine);
* ESI is not supported.

Also note that streamed responses cannot benefit from HTTP caching for obvious
reasons.
2011-12-21 14:34:26 +01:00
Fabien Potencier
05285e429c merged branch dustin10/cache-clearers (PR #2857)
Commits
-------

3ae976c fixed CS
84ad40d added cache clear hook

Discussion
----------

[Cache][2.1] Added cache clear hook

Allows bundles to hook into the `cache:clear` command by using the `kernel.cache_clearer` tag instead of using the `event_dispatcher` service.

See #1884

Bug fix: No
Feature addition: Yes
Backwards compatibility break: No
Symfony2 tests pass: Yes
Fixes the following tickets: #1884
References the following tickets: #1884

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

by dustin10 at 2011/12/16 11:03:54 -0800

Rebased to squash all commits into one.

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

by lsmith77 at 2011/12/17 05:27:29 -0800

@fabpot: we figured that priorities wouldn't be needed for cleaning .. haven't tested the PR, but conceptually it looks good to me and aside from the priority stuff its modeled after the cache warners.

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

by dustin10 at 2011/12/19 09:46:26 -0800

@fabpot Updated to pass cache dir to `clear` method.

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

by dustin10 at 2011/12/19 10:02:21 -0800

@stof and @fabpot Another thought I just had. Should the `$this->getContainer()->get('cache_clearer')->clear($realCacheDir);` call in the `CacheClearCommand` be done before the warming?

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

by stof at 2011/12/19 10:03:59 -0800

indeed. the clearing should be done before the warming.

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

by dustin10 at 2011/12/19 10:19:28 -0800

Squashed all commits into one. Let me know if there is anything else.

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

by dustin10 at 2011/12/19 10:31:50 -0800

Fixed extra lines.
2011-12-19 19:52:15 +01:00
Dustin Dobervich
3ae976cd5a fixed CS 2011-12-19 12:30:32 -06:00
Dustin Dobervich
84ad40dcc8 added cache clear hook 2011-12-19 12:17:48 -06:00
Fabien Potencier
5d6a7d35b0 merged 2.0 2011-12-18 14:48:17 +01:00
Fabien Potencier
4316595dbb fixed CS 2011-12-18 14:42:59 +01:00
Fabien Potencier
d08c2ef8b4 removed unused use statements 2011-12-18 14:36:25 +01:00
Fabien Potencier
997f354d53 tweaked the README files 2011-12-18 14:22:28 +01:00
Fabien Potencier
0f2caf1106 merged branch lsmith77/component_readmes (PR #2561)
Commits
-------

1e370d7 typo fix
93d8d44 added some more infos about Config
27efd59 added READMEs for the bridges
34fc866 cosmetic tweaks
d6af3f1 fixed README for Console
6a72b8c added basic README files for all components

Discussion
----------

added basic README files for all components and bridges

heavily based on http://fabien.potencier.org/article/49/what-is-symfony2 and the official Symfony2 documentation

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

by jmikola at 2011/11/03 13:36:07 -0700

Great work. For syntax highlighting on the PHP snippets, you could add "php" after the three backticks.

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

by lsmith77 at 2011/11/03 13:41:29 -0700

done

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

by stealth35 at 2011/11/03 13:49:31 -0700

Nice job, but you also need to add `<?php`

ex :

``` php
<?php
use Symfony\Component\DomCrawler\Crawler;

$crawler = new Crawler();
$crawler->addContent('<html><body><p>Hello World!</p></body></html>');

print $crawler->filter('body > p')->text();
```

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

by lsmith77 at 2011/11/03 13:56:57 -0700

done

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

by ericclemmons at 2011/11/03 19:57:57 -0700

@lsmith77 Well done!  This makes consumption of individual components that much easier, *especially* now that `composer.json` files have been added.

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

by lsmith77 at 2011/11/04 01:18:23 -0700

ok .. fixed the issues you mentioned @fabpot

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

by lsmith77 at 2011/11/11 15:00:27 -0800

@fabpot anything else left? seems like an easy merge .. and imho there is considerable benefit for our efforts to spread the word about the components with this PR merged.

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

by drak at 2011/11/11 18:54:13 -0800

You know, it might be a nice idea to put a link to the documentation for each component if there is some at symfony.com

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

by lsmith77 at 2011/11/12 00:59:14 -0800

i did that in some. but i might have missed a few places.
On 12.11.2011, at 03:54, Drak <reply@reply.github.com> wrote:

> You know, it might be a nice idea to put a link to the documentation for each component if there is some at symfony.com
>
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/symfony/symfony/pull/2561#issuecomment-2715762

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

by breerly at 2011/11/21 10:28:36 -0800

Pretty excited with this.

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

by dbu at 2011/11/24 00:02:50 -0800

is there anything we can help with to make this ready to be merged?

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

by lsmith77 at 2011/12/18 02:39:23 -0800

@fabpot: seriously .. if you are not going to deliver something "better" and don't provide a reason what is wrong with this .. then its beyond frustrating. i obviously do not claim that these README's are perfect (and certainly still no replacement for proper documentation), but I do claim that in their current form they are a radical step forward to potential users of the Symfony2 components.
2011-12-18 12:42:02 +01:00
Fabien Potencier
aa9b86ed75 [HttpKernel] added the terminate() call to the Client 2011-12-15 19:17:41 +01:00
Fabien Potencier
2c3672bff8 [HttpKernel] added request and response as arguments to the TerminableInterface::terminate() method 2011-12-15 18:16:29 +01:00
Fabien Potencier
abad85cbc4 merged branch Seldaek/post_response (PR #2791)
Commits
-------

7c2f11f Merge pull request #1 from pminnieur/post_response
9f4391f [HttpKernel] fixed DocBlocks
2a61714 [HttpKernel] added PostResponseEvent dispatching to HttpKernel
915f440 [HttpKernel] removed BC breaks, introduced new TerminableInterface
7efe4bc [HttpKernel] Add Kernel::terminate() and HttpKernel::terminate() for post-response logic

Discussion
----------

[HttpKernel] Add Kernel::terminate() and HttpKernel::terminate() for post-response logic

This came out of a discussion on IRC about doing stuff post-response, and the fact that right now there is no best practice, and it basically requires adding code after the `->send()` call.

It's an attempt at fixing it in an official way. Of course terminate() would need to be called explicitly, and added to the front controllers, but then it offers a standard way for everyone to listen on that event and do things without slowing down the user response.

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

by stof at 2011/12/06 02:41:26 -0800

We discussed it on IRC and I suggested a way to avoid the BC break of the interface: adding a new interface (``TerminableInterface`` or whatever better name you find) containing this method.
HttpKernel, Kernel and HttpCache can then implement it without breaking the existing apps using the component (Kernel and HttpCache would need an instanceof check to see if the inner kernel implements the method)

For Symfony2 users it will mean they have to change their front controller to benefit from the new event of course, but this is easy to do.

Btw, Silex can then be able to use it without *any* change for the end users as it can be done inside ``Application::run()``

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

by pminnieur at 2011/12/06 11:47:03 -0800

@Seldaek: I opened a pull request so that the discussion on IRC is fulfilled and no BC breaks exist: https://github.com/Seldaek/symfony/pull/1/files

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

by fabpot at 2011/12/07 07:59:49 -0800

Any real-world use case for this?

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

by Seldaek at 2011/12/07 08:10:31 -0800

Doing slow stuff after the user got his response back without having to implement a message queue. I believe @pminnieur wanted to use it to send logs to loggly?

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

by pminnieur at 2011/12/07 09:08:41 -0800

Its a good practice to defer code execution without the introduction of a new software layer (like gearman, amqp, whatever tools people use to defer code execution) which may be way too much just for the goal of having fast responses, whatever my code does.

My real world use case which made me miss this feature the first time:

 > I have a calendar with a scheduled Event. For a given period of time, several Event entities will be created, coupled to the scheduled event (the schedule Event just keeps track of `startDate`, `endDate` and the `dateInterval`). Let's say we want this scheduled Event to be on every Monday-Friday, on a weekly basis, for the next 10 years.

This means I have to create `10*52*5` Event entities before I could even think about sending a simple redirect response. If I could defer code execution, I'd only save the scheduled Event, send the redirect response and after that, I create the `10*52*5` entities.

The other use case was loggly, yes. Sending logging data over the wire before the response is send doesn't make sense in my eyes, so it could be deferred after the response is send (this especially sucks if loggly fails and i get a 500 --the frontend/public user is not interested in a working logging facility, he wants his responses).

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

by mvrhov at 2011/12/07 10:07:03 -0800

This would help significantly, but the real problem, that your process is busy and unavailable for the next request, is still there.

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

by fabpot at 2011/12/07 10:15:18 -0800

I think this is the wrong solution for a real problem.

Saying "Its a good practice to defer code execution without the introduction of a new software layer" is just wrong.

It is definitely a good practice to defer code execution, but you should use the right tool for the job.

I'm -1.

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

by pminnieur at 2011/12/07 10:25:44 -0800

It should just give a possibility to put unimportant but heavy lifting code behind the send request with ease. With little effort people could benefit from the usage of `fastcgi_finish_request` without introducing new software, using `register_shutdown_function` or using `__destruct `(which works for simple things, but may act weird with dependencies).

It should not simulate node.js ;-) I agree that the real problem is not solved, but small problems could be solved easily. I personally don't want to setup RabbitMQ or whatever, maintain my crontab or any other software that may allow me to defer code execution.

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

by Seldaek at 2011/12/08 01:08:32 -0800

@fabpot: one could say that on shared hostings it is still useful because they generally don't give you gearman or \*MQs. Anyway I think it'd be nice to really complete the HttpKernel event cycle.

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

by pminnieur at 2011/12/08 01:48:57 -0800

not only on shared hostings, sometimes teams/projects just don't have the resources or knowledge or time to setup such an infrastructure.

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

by videlalvaro at 2011/12/08 01:53:06 -0800

I can say we used `fastcgi_finish_request` quite a lot at poppen with symfony 1.x. It certainly helped us to send data to Graphite, save XHProf runs, send data to RabbitMQ, and so on.

For example we used to connect to RabbitMQ and send the messages _after_ calling `fastcgi_finish_request` so the user never had to wait for stuff like that.

Also keep in mind that if you are using Gearman or RabbitMQ or whatever tool you use to defer code execution… you are not deferring the network connection handling, sending data over the wire and what not. I know this is obvious but is often overlooked.

So it would be nice to have an standard way of doing this.

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

by henrikbjorn at 2011/12/13 01:42:23 -0800

This could have been useful recently while implementing a "Poor mans cronjob" system. The solution was to do a custom Response object and do the stuff after send have been called with a Connection: Close header and ignore_user_abort(); (Yes very ugly)
2011-12-15 17:53:42 +01:00
Joseph Bielawski
5c41ec9e4f [HttpKernel][Client] Only simple (name=value without any other params) cookies can be stored in same line, so lets add every as standalone to be compliant with rfc6265 2011-12-15 11:35:58 +01:00
Fabien Potencier
a6cdddd716 merged 2.0 2011-12-14 19:13:35 +01:00
Fabien Potencier
cfe2640877 merged branch ocubom/fix-absolute-paths-detection (PR #2809)
Commits
-------

600066e [Templating] fixed 'scheme://' not detected as absolute path
e6f2687 [HttpKernel] fixed 'scheme://' not detected as absolute path
b50ac5b [Config] fixed 'scheme://' not detected as absolute path

Discussion
----------

[Config][HttpKernel][Templating] 'scheme://' paths not detected as absolute

Bug fix: yes
Feature addition: no
Backwards compatibility break: no (99%)
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -

The method ```isAbsolutePath``` does not detect URL schemes as absolute. This makes imposible the use of wrappers to access remote files or the use of files (mostly configuration or templates) stored on phar archives (uses the scheme ```phar://``` in the path).

Three classes implement this methods: ```Symfony\Component\Config\FileLocator```, ```Symfony\Component\HttpKernel\Util\Filesystem``` and ```Symfony\Component\Templating\Loader\FilesytemLoader```. All are updated. Also includes a new check  on all related tests (```Symfony\Component\HttpKernel\Util\Filesystem``` lacks of test).
2011-12-13 17:41:54 +01:00
Fabien Potencier
12ea7568a0 merged branch pulzarraider/explode_optimalisation (PR #2782)
Commits
-------

cd24fb8 change explode's limit parameter based on known variable content
b3cc270 minor optimalisations for explode

Discussion
----------

[FrameworkBundle][CssSelector][HttpFoundation][HttpKernel] [Security][Validator] Minor optimizations for "explode" function

Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -

I added limit parameter in some places, where it may be usefull. I did not check the context of what values may have been exploded. So to not break anything, I added +1 to limit parameter.

If you find out that in some places limit (or limit+1) is not important or meaningless, write a comment please and I will fix it.

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

by fabpot at 2011/12/07 06:56:49 -0800

Adding +1 just to be sure to not break anything is clearly something we won't do. What is the benefit of doing that anyway?

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

by pulzarraider at 2011/12/07 13:50:24 -0800

The main idea of making this PR was to notify about some places that may run faster with just adding one parameter to explode function.

If in code is someting like: ```list($a, $b) = explode(':', $s);```
Function ```explode``` will create n-items (depends on ```$s```), but we need in code only the first two items. There is no reason to let ```explode``` create more items in memory that are NEVER used in our code. The limit parameter is there for these situations, so let's use it.

I know that it is microoptimization and may look unimportant, but we are writing a framework - so people expect that code will be as fast as possible without this kind of mistakes.

As I've noticed above, I know that +1 is not ideal solution, but the fastest without debugging the code. I expect that someone (with good knowledge of that code) will look at it and write in comments if variable may contain 1 comma (dot or someting on what is doing the explode) or maybe 2 in some situations or more.

Anyway, +1 will not break anything, because same items are created as it is now, but no unnecessary item is created.

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

by fabpot at 2011/12/07 23:14:59 -0800

I'm +1 for adding the number to avoid problems but I'm -1 on the optimization side of things as it won't optimize anything.

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

by helmer at 2011/12/08 12:46:49 -0800

*.. The main idea of making this PR was to notify about some places that **may** run faster ..*

I am also unsure the optimization is really an optimization, care to benchmark (with meaningful inputs)? As for the limit+1 thing, why would you want to +1 it? The number of ``list`` arguments should always reflect the ``limit`` parameter, no?

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

by pulzarraider at 2011/12/08 23:11:34 -0800

@helmer please try this simple benchmark:

```
<?php

header('Content-Type: text/plain; charset=UTF-8');
define('COUNT', 10000);

$source_string = 'aaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbb:cccccccccccccccccccccccc:dddddddddddddddddddddd:eeeeeeeeeeeeeeeeeeeeeeeee:fffffffffffffffffffffffffff';

$start = microtime(true);
for ($i = 0; $i < COUNT; $i++) {
    list($a, $b) = explode(':', $source_string);
}
$end = microtime(true)-$start;
echo 'without limit: '.$end."\n";

$start = microtime(true);
for ($i = 0; $i < COUNT; $i++) {
    list($a, $b) = explode(':', $source_string, 2);
}
$end = microtime(true)-$start;
echo 'with limit:    '.$end."\n";
```

My results are:

```
without limit: 0.057228803634644
with limit:    0.028676986694336
```
That is 50% difference (with APC enabled).  Of course the result depends on the length of source string and if it's too short, the difference may be none or very very small. That's why I said, that it **may** run faster and is just a micro optimization.

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

by pulzarraider at 2011/12/08 23:18:12 -0800

@helmer And why +1? It depends on a code:

```
$source_string = 'aaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbb:cccccccccccccccccccccccc';
list($a, $b) = explode(':', $source_string, 2);
var_dump($a, $b);
```

and

```
$source_string = 'aaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbb:cccccccccccccccccccccccc';
list($a, $b) = explode(':', $source_string, 3);
var_dump($a, $b);
```
gives different results. That's why the content of the variable must be known.

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

by helmer at 2011/12/09 00:08:28 -0800

@pulzarraider Thanks for the benchmark, seems like a gain enough. Although, we are more likely having a scenario of:
``explode(':', 'a🅱️c')`` vs ``explode(':', 'a🅱️c', 3)`` with a ``COUNT`` of 10, where the difference is not even in microseconds anymore :)

The limit addition alters the behaviour though, ie suddenly you can define a controller [logical name](http://symfony.com/doc/current/book/routing.html#controller-string-syntax) as ´´AcmeBlogBundle:Blog:show:something``, and things go downhill from there on.

All that aside, I'm +1 for setting the limit to the exact number of ``list`` parameters, but certainly not number+1, this is just too wtfy (as you said, this was a safety thing, but I reckon for this PR to be merged it needs to be +0).

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

by drak at 2011/12/09 08:28:58 -0800

Overall `list()` is ugly as it's not very explicit.  Even though it would mean extra lines, it's better to `explode()` then explicitly assign variables:

```
$parts = explode(':', $foo);
$name = $parts[0];
$tel = $parts[1];
```

`list()` is one of those bad relics from the PHP past...

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

by fabpot at 2011/12/11 10:07:47 -0800

@drak: why is `list` not explicit? It is in fact as explicit as the more verbose syntax you propose.

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

by pulzarraider at 2011/12/11 13:08:50 -0800

@drak: I agree with @fabpot. In speech of benchmarks ```list``` is faster then using a helper variable.

@fabpot, @helmer I've changed explode's limit to be correct (without +1) and removed some changes from this PR, where I can't find out what the content of variable may be. Unit tests pass, so I think it's ready for merge.
2011-12-13 17:39:32 +01:00
Fabien Potencier
142cef21bb merged 2.0 2011-12-13 16:12:53 +01:00
Fabien Potencier
bf45b22447 merged branch stloyd/profiler_by_method (PR #2824)
Commits
-------

5f22268 [Profiler] Sync with master
1aef4e8 Adds collecting info about request method and allowing searching by it

Discussion
----------

[WebProfiler] Add ability to filter data by request method

Bug fix: no
Feature addition: yes
Backwards compatibility break: yes
Symfony2 tests pass: yes
Fixes the following tickets: #1515

For discussion & description checkout: #1515 & #2279

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

by fabpot at 2011/12/11 10:02:41 -0800

After merging this PR, the toolbar is not displayed anymore for me.

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

by stof at 2011/12/12 14:18:20 -0800

@fabpot the toolbar works for me using this branch
2011-12-13 14:13:16 +01:00
Kevin Bond
73ac77336b [Config] added ability to set info message and example to node definition 2011-12-13 06:04:53 -05:00
Fabien Potencier
e3421a0b1d [DoctrineBridge] fixed some CS 2011-12-13 10:22:12 +01:00
Andrej Hudec
cd24fb86a8 change explode's limit parameter based on known variable content 2011-12-11 21:58:35 +01:00
Andrej Hudec
b3cc270450 minor optimalisations for explode 2011-12-11 21:58:30 +01:00
Fabien Potencier
fd12796673 merged 2.0 2011-12-11 18:50:50 +01:00
Fabien Potencier
4bdef75618 merged branch dantleech/filesystem-sprintf-typo-1 (PR #2831)
Commits
-------

84bb6bc [Filesystem] Sprintf typo in exception

Discussion
----------

[Filesystem] Sprintf typo in exception

Bug fix: [yes]
Feature addition: [no]
Backwards compatibility break: [no]
2011-12-11 18:42:00 +01:00
DanSync
84bb6bce7f [Filesystem] Sprintf typo in exception
- Is "%" instead of "%s"
2011-12-09 17:49:17 +00:00
Fabien Potencier
ab0b4f3c2c bumped Symfony version to 2.0.8-DEV 2011-12-09 16:15:51 +01:00
Joseph Bielawski
5f2226807c [Profiler] Sync with master 2011-12-09 11:51:29 +01:00
stloyd
1aef4e806b Adds collecting info about request method and allowing searching by it 2011-12-09 10:53:33 +01:00
Oscar Cubo Medina
e6f2687107 [HttpKernel] fixed 'scheme://' not detected as absolute path 2011-12-08 15:42:21 +01:00
Fabien Potencier
848f87504d updated VERSION for 2.0.7 2011-12-08 15:17:21 +01:00
vagrant
9f4391f9a1 [HttpKernel] fixed DocBlocks 2011-12-06 11:38:33 -08:00
vagrant
2a61714df6 [HttpKernel] added PostResponseEvent dispatching to HttpKernel 2011-12-06 11:18:45 -08:00
vagrant
915f440cad [HttpKernel] removed BC breaks, introduced new TerminableInterface 2011-12-06 10:41:41 -08:00
Jordi Boggiano
7efe4bcb87 [HttpKernel] Add Kernel::terminate() and HttpKernel::terminate() for post-response logic 2011-12-06 11:09:36 +01:00
Fabien Potencier
8a4f9ea512 merged 2.0 2011-12-01 15:45:30 +01:00
Drak
97dd2cc860 [HttpKernel] Removed unused property. 2011-11-27 19:28:03 +05:45
Fabien Potencier
7b1dda84b9 [HttpKernel] added unit tests for previous merge 2011-11-24 08:39:49 +01:00
Juan M Martínez
61e0bdebf8 [HttpKernel] ControllerResolver arguments reflection for Closure object.
When controller is a Closure ControllerResolver::getArguments tries to
make a ReflectionMethod of the __invoke method. But because it's an
internal function, the parameters method isDefaultValueAvailable will
return always false, even if isOptional return true.
2011-11-24 08:39:37 +01:00
Fabien Potencier
94416129a2 removed unused use statements 2011-11-24 07:17:02 +01:00
Fabien Potencier
2b5d4b90d8 merged 2.0 2011-11-24 07:16:52 +01:00
Fabien Potencier
5878490b16 removed unused use statements 2011-11-24 07:16:14 +01:00
Fabien Potencier
a7f7be2309 merged 2.0 2011-11-23 23:28:22 +01:00
Jordi Boggiano
c76487ee04 Fix composer.json files to be stricter 2011-11-23 17:51:23 +01:00
Jordi Boggiano
e7215aeb40 Fix composer.json 2011-11-23 16:10:32 +01:00
Fabien Potencier
c98c2ef5fb merged the two Locale listener hooks (this hack was needed when the Firewall was registered before the Routing; this is not needed anymore) 2011-11-17 14:22:57 +01:00
Fabien Potencier
e886d733fb merged the two Router listener hooks (this hack was needed when the Firewall was registered between those two hooks; this is not needed anymore) 2011-11-17 14:22:57 +01:00
Fabien Potencier
e3655f3a5c changed priorities for kernel.request listeners
The Firewall is now executed after the Router. This was needed to have access
to the locale and other request attributes that are set by the Router. This
change implies that all Firewall specific URLs have proper (empty) routes like
`/login_check` and `/logout`.
2011-11-17 14:22:53 +01:00
Johannes Schmitt
46e5fa5c87 fixed previous merges partially, there still seems to be a problem with the test client 2011-11-17 14:04:01 +01:00
Fabien Potencier
d1ae6c7cb6 bumped Symfony version in composer.json files to 2.0.7 2011-11-17 06:58:47 +01:00
Fabien Potencier
3ef8079b50 bumped Symfony version to 2.0.7-DEV 2011-11-17 06:58:18 +01:00