Commit Graph

326 Commits

Author SHA1 Message Date
Nicolas Grekas
47ee1d53c1 Merge branch '3.3' into 3.4
* 3.3: (33 commits)
  Preserve HttpOnly value when deserializing a header
  [DX] [TwigBundle] Enhance the new exception page design
  Fix deprecated message
  [DI][Security] Prevent unwanted deprecation notices when using Expression Languages
  bumped Symfony version to 3.3.5
  updated VERSION for 3.3.4
  updated CHANGELOG for 3.3.4
  [VarDumper] Reduce size of serialized Data objects
  bumped Symfony version to 3.2.12
  updated VERSION for 3.2.11
  updated CHANGELOG for 3.2.11
  fixed bad merge
  Fix indent of methods
  [Cache] Handle APCu failures gracefully
  [DoctrineBridge] Use normalizedIds for resetting entity manager services
  [FrameworkBundle] Do not remove files from assets dir
  [FrameworkBundle] 3.3: Don't get() private services from debug:router
  bumped Symfony version to 3.3.4
  updated VERSION for 3.3.3
  updated CHANGELOG for 3.3.3
  ...
2017-07-06 13:23:40 +03:00
Christian Flothmann
1d07a28bed call setContainer() for autowired controllers 2017-07-03 16:15:38 +02:00
Grégoire Paris
d261894c6e
Change wording from object to subject
The authorization checker has been changed to support any value
recently. The naming should reflect that to avoid confusion.
Refs https://github.com/sonata-project/SonataAdminBundle/issues/4518
2017-07-03 10:24:58 +02:00
Ben Scott
ee17131fca Expose the AbstractController's container to its subclasses
Useful if an application provides their own base Controller that
references items in the container. It also makes it simpler for that
base controller to add additional optional dependencies by only overriding
getSubscribedServices instead of having to reimplement setContainer and
use ControllerTrait.
2017-06-15 13:29:56 +01:00
Maxime Steinhausser
abd9007337 [FrameworkBundle] Remove unnecessary use 2017-06-13 20:29:33 +02:00
Nicolas Grekas
e5a698e215 Merge branch '3.2' into 3.3
* 3.2:
  typo
  [EventDispatcher] Fix ContainerAwareEventDispatcher::hasListeners(null)
  Use namespaced Twig
2017-06-02 10:55:39 +02:00
Mathias Geat
7f416ede17 [FrameworkBundle] Add type hint for ContainerInterface to ControllerTrait 2017-05-05 12:24:11 +02:00
Nicolas Grekas
a93f059878 [FrameworkBundle] Introduce AbstractController, replacing ControllerTrait 2017-03-25 18:18:01 +01:00
Nicolas Grekas
08c2ee32f1 [*Bundle] Add autowiring aliases for common services 2017-03-21 22:34:27 +01:00
Christian Flothmann
fdfcb220e5 [FrameworkBundle] fix a minor typo 2017-03-03 09:31:18 +01:00
Kévin Dunglas
1f2521e347 [FrameworkBundle] Introduce autowirable ControllerTrait 2017-03-02 12:20:19 -08:00
Maxime Steinhausser
7bbae4159b [HttpKernel] Add a ContainerControllerResolver (psr-11) 2017-02-28 21:33:09 +01:00
Fabien Potencier
f4a635957e Merge branch '3.1' into 3.2
* 3.1:
  fixed @return when returning this or static
  override property constraints in child class
  removed unneeded comment
  [Console] improved code coverage of Command class
  [FrameworkBundle] Make TemplateController working without the Templating component
  Only count on arrays or countables to avoid warnings in PHP 7.2
2016-12-27 11:44:30 +01:00
Fabien Potencier
4c453f617d Merge branch '2.8' into 3.1
* 2.8:
  fixed @return when returning this or static
  override property constraints in child class
  removed unneeded comment
  [Console] improved code coverage of Command class
  [FrameworkBundle] Make TemplateController working without the Templating component
  Only count on arrays or countables to avoid warnings in PHP 7.2
2016-12-27 11:43:25 +01:00
Fabien Potencier
e5ce4c9383 removed unneeded comment 2016-12-23 22:13:36 +01:00
Kévin Dunglas
89ccbc450c
[FrameworkBundle] Make TemplateController working without the Templating component 2016-12-23 16:30:22 +01:00
Maxime Steinhausser
7bdfc84ef8 Minor fixes for 3.2 2016-12-11 15:34:22 +01:00
Nicolas Grekas
5461c1ed53 Merge branch '3.1' into 3.2
* 3.1:
  [Routing] Fail properly when a route parameter name cannot be used as a PCRE subpattern name
  [FrameworkBundle] Improve performance of ControllerNameParser
  Update documentation link to the component
  [HttpFoundation] Add links to RFC-7231
  [DI] Initialize properties before method calls
  Tag missing internals
  [WebProfilerBundle] Dont use request attributes in RouterController
  Fix complete config tests
2016-11-25 13:32:42 +01:00
Nicolas Grekas
966d45f889 Merge branch '2.8' into 3.1
* 2.8:
  [Routing] Fail properly when a route parameter name cannot be used as a PCRE subpattern name
  [FrameworkBundle] Improve performance of ControllerNameParser
  Update documentation link to the component
  [HttpFoundation] Add links to RFC-7231
  [DI] Initialize properties before method calls
  Tag missing internals
  [WebProfilerBundle] Dont use request attributes in RouterController
  Fix complete config tests
2016-11-25 13:27:14 +01:00
Nicolas Grekas
4d04c40ae3 Merge branch '2.7' into 2.8
* 2.7:
  [Routing] Fail properly when a route parameter name cannot be used as a PCRE subpattern name
  [FrameworkBundle] Improve performance of ControllerNameParser
  Update documentation link to the component
  [HttpFoundation] Add links to RFC-7231
  [DI] Initialize properties before method calls
  Tag missing internals
  [WebProfilerBundle] Dont use request attributes in RouterController
  Fix complete config tests
2016-11-25 13:26:42 +01:00
Jáchym Toušek
cf333f32c5 [FrameworkBundle] Improve performance of ControllerNameParser 2016-11-25 12:34:09 +01:00
Ryan Weaver
da7daee407 Removing the Controller::getUser() deprecation 2016-10-14 19:46:34 -04:00
Christian Flothmann
9603ffa458 AccessDeniedException: rename object to subject
With this change the name is inline with what we use in the base voter
interface.
2016-09-19 13:01:06 +02:00
Tristan Darricau
6618c18acb
[Security] Expose the required roles in AccessDeniedException 2016-07-29 17:08:58 +02:00
Iltar van der Berg
d341889b95 Added a SecurityUserValueResolver for controllers 2016-07-01 08:00:40 +02:00
Christian Flothmann
c4e440c73e [FrameworkBundle] fix argument type docblock 2016-06-20 12:19:51 +02:00
Fabien Potencier
1e263c0b29 feature #18502 [FrameworkBundle] Add file helper to Controller (dfridrich)
This PR was squashed before being merged into the 3.2-dev branch (closes #18502).

Discussion
----------

[FrameworkBundle] Add file helper to Controller

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        | https://github.com/symfony/symfony-docs/pull/6454

I think it would be more "sexy" to serve files from controller easier (like `json()` helper does).

**This Controller helper allows user to serve files to Response in these ways:**

* pass `Symfony\Component\HttpFoundation\File` (or `Symfony\Component\HttpFoundation\UploadedFile`) instance
* [REMOVED] provide content as `string` and specify file name (mime type will be auto recognized)
* provide path to file (you are still able to specify other than original file name)

**Examples**

    return $this->file($uploadedFile);
    // ...or...
    return $this->file('/path/to/my/picture.jpg');

Commits
-------

d9a8499 [FrameworkBundle] Add file helper to Controller
2016-06-15 17:31:51 +02:00
Dennis Fridrich
d9a84990cf [FrameworkBundle] Add file helper to Controller 2016-06-15 17:31:49 +02:00
Fabien Potencier
330c09b390 Merge branch '3.0' into 3.1
* 3.0:
  [Yaml] fix exception contexts
  People - person singularization
  [Yaml] properly handle unindented collections
  [Serializer] Add test for ignored attributes during denormalization
  chomp newlines only at the end of YAML documents
  Fixed server status command when port has been omitted
  Update UPGRADE FROM 2.x to 3.0
  fix removed commands wording in upgrade file
  Catch \Throwable
  Catch \Throwable
  [DependencyInjection] Avoid generating call_user_func in more cases
  [Validator] Support for DateTimeImmutable
  [FrameworkBundle] update upgrade instructions
  Use levenshtein level for better Bundle matching
  [WebProfilerBundle] Fix CORS ajax security issues
  remove methods that were needed for PHP 5.3
  [DX][DI] Make Autowiring exceptions more future friendly
2016-05-24 12:06:56 +02:00
Fabien Potencier
90dcd92691 Merge branch '2.8' into 3.0
* 2.8:
  [Yaml] fix exception contexts
  People - person singularization
  [Yaml] properly handle unindented collections
  [Serializer] Add test for ignored attributes during denormalization
  chomp newlines only at the end of YAML documents
  Fixed server status command when port has been omitted
  Update UPGRADE FROM 2.x to 3.0
  fix removed commands wording in upgrade file
  Catch \Throwable
  Catch \Throwable
  Use levenshtein level for better Bundle matching
  [WebProfilerBundle] Fix CORS ajax security issues
  [DX][DI] Make Autowiring exceptions more future friendly
2016-05-24 12:03:10 +02:00
Fabien Potencier
5cb0ad3f81 Merge branch '2.7' into 2.8
* 2.7:
  [Yaml] fix exception contexts
  People - person singularization
  [Yaml] properly handle unindented collections
  [Serializer] Add test for ignored attributes during denormalization
  chomp newlines only at the end of YAML documents
  Fixed server status command when port has been omitted
  Update UPGRADE FROM 2.x to 3.0
  Catch \Throwable
  Use levenshtein level for better Bundle matching
  [WebProfilerBundle] Fix CORS ajax security issues
2016-05-24 12:00:02 +02:00
Jeremy Benoist
ac7f74ecca Use levenshtein level for better Bundle matching 2016-05-17 15:13:00 +02:00
Nicolas Grekas
f990f1bea0 Merge branch '2.8' into 3.0
* 2.8:
  [travis] Disable hirak/prestissimo for deps=low/high tests
  Fixed the "hover" state of the profiler sidebar menu
  [HttpFoundation] fix phpdoc of UploadedFile
  Lower complexity of Form:isValid()
  skipped dns-sensitive tests when DnsMock is not found
  [FrameworkBundle] Return the invokable service if its name is the class name
  [ci] Skip dns-sensitive tests when DnsMock is not found
  Exclude Bridge\PhpUnit from composer.json by default
  fixed CS
  Optimize ReplaceAliasByActualDefinitionPass
  [Process] use __METHOD__ where applicable
  [Routing] Don't needlessly execute strtr's as they are fairly expensive

Conflicts:
	.travis.yml
	src/Symfony/Component/DependencyInjection/Compiler/ReplaceAliasByActualDefinitionPass.php
2016-04-02 10:04:34 +02:00
Nicolas Grekas
e7d7e1ee38 Merge branch '2.7' into 2.8
* 2.7:
  [travis] Disable hirak/prestissimo for deps=low/high tests
  [HttpFoundation] fix phpdoc of UploadedFile
  Lower complexity of Form:isValid()
  skipped dns-sensitive tests when DnsMock is not found
  [FrameworkBundle] Return the invokable service if its name is the class name
  [ci] Skip dns-sensitive tests when DnsMock is not found
  Exclude Bridge\PhpUnit from composer.json by default
  fixed CS
  Optimize ReplaceAliasByActualDefinitionPass
  [Process] use __METHOD__ where applicable
  [Routing] Don't needlessly execute strtr's as they are fairly expensive
2016-04-02 09:57:47 +02:00
Kévin Dunglas
5c87d766d5 [FrameworkBundle] Return the invokable service if its name is the class name 2016-03-31 22:45:44 +02:00
Jules Pietri
227ac77f11 [WebProfilerBundle] [FrameworkBundle] profile forward controller action
closes #14358

The `Symfony\Bundle\FrameworkBundle\Controller\Controller::forward()`
now passes request attributes to its sub request, so when the profiler
will profile the sub request it will add its token to its hold by
reference parent request attributes.

The profiler main profiler layout displays a shortcut to the forwarded
sub request profile which is actually responsible for returning the
present response.

The web debug toolbar shows a notifying icon, meaning a shortcut to a
forwarded profile is available in the toolbar request panel.
2016-03-30 19:02:38 +02:00
Fabien Potencier
f9b0aaa488 bug #18289 [FrameworkBundle] Return the invokable service if its name is the class name (dunglas)
This PR was squashed before being merged into the 3.1-dev branch (closes #18289).

Discussion
----------

[FrameworkBundle] Return the invokable service if its name is the class name

| Q             | A
| ------------- | ---
| Branch?       | 2.7
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | n/a
| License       | MIT
| Doc PR        | n/a

 if a service is invokable and has the same name than its class name, the controller resolver of FrameworkBundle doesn't retrieve the service and tries to construct a new instance of the class instead.

This is a very rare edge case, but this fix is useful for dunglas/DunglasActionBundle#36: referencing auto-registered controllers following the ADR style in YAML and XML routing files will be more intuitive.

Currently: `defaults:  { _controller: 'Your\Action\FQN:__invoke' }`, after this fix: `defaults:  { _controller: 'Your\Action\FQN' }`.

This PR also fix a currently useless test.

Commits
-------

70b9309 [FrameworkBundle] Return the invokable service if its name is the class name
2016-03-25 18:28:09 +01:00
Kévin Dunglas
70b9309b79 [FrameworkBundle] Return the invokable service if its name is the class name 2016-03-25 18:28:04 +01:00
Fred Cox
f904a2ba99 Add a Controller function to make it easy to return json
If the serializer component is enabled it is used to generate the json
data, if not the standard `json_encode`  function is used
2016-03-02 16:31:41 +02:00
Konstantin.Myakshin
b8028f6053 Remove unused imports 2016-01-21 00:01:55 +02:00
Hugo Hamon
3d0c4dd303 [FrameworkBundle] fixes outdated phpdoc on Controller::createForm() method. 2015-12-18 08:55:12 +01:00
blanchonvincent
52c50e3b1e Remove abstract class and use Interface+Trait
Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php
	src/Symfony/Bundle/SecurityBundle/Tests/Functional/Bundle/FormLoginBundle/Controller/LocalizedController.php
	src/Symfony/Bundle/SecurityBundle/Tests/Functional/Bundle/FormLoginBundle/Controller/LoginController.php
	src/Symfony/Component/DependencyInjection/ContainerAware.php
2015-11-04 18:03:42 +01:00
Nicolas Grekas
48b25f5251 Merge branch '2.8'
* 2.8:
  Fix the FrameworkBundle dependencies
  [DoctrineBridge] Fix required guess of boolean fields
  [DI] don't use array_map to resolve services
  Remove dead code in the PropertyPath constructor
  [EventDispatcher] fix docblock
  [Process] Inherit env vars by default in PhpProcess
  Changed one console output style to avoid visual issues
  [VarDumper] Fix return type and anonymous classes dumping
  [FrameworkBundle] PropertyInfo support
  [HttpFoundation] Fixes /0 subnet handling in IpUtils
  [Form] Simplify DateTimeToStringTransformer Avoid unneeded catch and re-throw of the same exception.
  [Minor] [Serializer] Removed second license header
  [TwigBundle] added a Twig templates warmer when templating is disabled
  [HttpKernel] Remove a duplicate test for the EsiFragmentRenderer
  [Templating] deprecate low-level RouterHelper::generate method as it's cumbersome to use constants in templates
  [Templating] introduce path and url methods in php templates to be in line with twig templates
  [Routing] deprecate the old url generator reference type values
  [Routing] use constant in a test that is new in 2.7
  [FrameworkBundle] Add a new ClassCache cache warmer
  [Validator] Add expressionLanguage to ExpressionValidator constructor

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Resources/config/services.xml
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Component/BrowserKit/composer.json
	src/Symfony/Component/ClassLoader/ClassCollectionLoader.php
	src/Symfony/Component/EventDispatcher/EventDispatcher.php
2015-10-23 17:08:51 +02:00
Tobias Schultze
912fc4de8f [Routing] deprecate the old url generator reference type values 2015-10-18 22:34:15 +02:00
WouterJ
fc41cf0985 [3.0][FrameworkBundle] Removed deprecated features 2015-10-01 15:52:48 +02:00
Fabien Potencier
967c0e439a Merge branch '2.8'
* 2.8: (23 commits)
  [Validator] added BIC (SWIFT-BIC) validation constraint
  [TwigBridge] Foundation form layout integration
  [Security] Deprecated supportsAttribute and supportsClass methods
  bumped Symfony version to 2.7.6
  updated VERSION for 2.7.5
  updated CHANGELOG for 2.7.5
  bumped Symfony version to 2.3.34
  updated VERSION for 2.3.33
  update CONTRIBUTORS for 2.3.33
  updated CHANGELOG for 2.3.33
  [Console] Fix transient HHVM test
  [OptionsResolver] Fix catched exception along the dependency tree mistakenly detects cyclic dependencies
  fixed tests
  [DI] Support deprecated definitions in decorators
  [DI] Allow to change the deprecation message in Definition
  [DI] Trigger a deprecated error on the container builder
  [DI] Dump the deprecated status
  [DI] Supports the deprecated tag in loaders
  [DI] Add a deprecated status to definitions
  Fixing test locations
  ...
2015-09-26 09:20:46 +02:00
Fabien Potencier
693af63d65 bug #15721 [FrameworkBundle] compatibility with older Form component versions (xabbuh)
This PR was merged into the 2.8 branch.

Discussion
----------

[FrameworkBundle] compatibility with older Form component versions

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #15711
| License       | MIT
| Doc PR        |

Commits
-------

01ad767 compatibility with older Form component versions
2015-09-25 13:59:08 +02:00
Fabien Potencier
538a71d76f Merge branch '2.8'
* 2.8: (31 commits)
  [DomCrawler] Invalid uri created from forms if base tag present
  [VarDumper] Add caster for OuterIterator objects
  [Console] update param type phpdoc for StreamOutput
  [Console] fix typo in OutputInterface
  Use stderr by default when a specific output is not injected
  fixed bad merge
  [Debug] Fix case mismatch detection
  [HttpKernel] Add entry point to more easily create/configure the DI extension
  [DX] Added a logout link in the security panel of the web debug toolbar
  [HttpKernel] fix broken multiline <esi:remove>
  [DoctrineBridge] Fixed #14840
  [FrameworkBundle] add a suggest for the serializer component
  fixed CS
  removed non-working tests
  [WIP] #15502 Make template shortcuts be usable without Templating component
  Redesigned the Symfony Profiler
  [Yaml] Fix the parsing of float keys
  Make the exception output visible even in quiet mode, fixes #15680
  Convert Output::write's type to an options arg where verbosity can be passed in as well
  [Console] Ensure the console output is only detected as decorated when both stderr and stdout support colors
  ...
2015-09-14 16:15:24 +02:00
Fabien Potencier
f20e4e5ed8 fixed CS 2015-09-14 08:46:24 +02:00
Fabien Potencier
46eaafcd63 feature #15620 [WIP] #15502 Make template shortcuts be usable without Templating component (Koc)
This PR was squashed before being merged into the 2.8 branch (closes #15620).

Discussion
----------

[WIP] #15502 Make template shortcuts be usable without Templating component

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | ?
| Fixed tickets | #15502
| License       | MIT
| Doc PR        | -

Commits
-------

d547ec0 [WIP] #15502 Make template shortcuts be usable without Templating component
2015-09-14 08:44:24 +02:00