Commit Graph

492 Commits

Author SHA1 Message Date
Fabien Potencier
5f8d71be52 Merge branch '2.6' into 2.7
* 2.6:
  Use PHPUnit ini_set wrapper in tests
  [Process] Added a test skip check for Windows
  [Process] Removed unused variable assignment
  Fixes various phpdoc and coding standards.
  Fixes Issue #13184 - incremental output getters now return empty strings
  Updated copyright to 2015
  Updated copyright to 2015
  Updated copyright to 2015
  [VarDumper] increase debug.max_items to 2500
  [Debug] Update exception messages.
  use value of DIRECTORY_SEPARATOR to detect Windows
  force ExpressionLanguage version >= 2.6
  [Debug] fixes ClassNotFoundFatalErrorHandler to correctly handle class not found errors with Symfony ClassLoader component autoloaders.
  Clarify a comment.
  use PHP_WINDOWS_VERSION_BUILD to detect Windows
  Check if a field type_class is defined before using it.
  Currently if you want to use inline bootstrap form rendering, this is usually enough:

Conflicts:
	src/Symfony/Component/Debug/composer.json
2015-01-03 09:02:46 +01:00
Fabien Potencier
d79830fcfd Merge branch '2.5' into 2.6
* 2.5:
  Use PHPUnit ini_set wrapper in tests
  [Process] Added a test skip check for Windows
  [Process] Removed unused variable assignment
  Fixes various phpdoc and coding standards.
  Fixes Issue #13184 - incremental output getters now return empty strings
  Updated copyright to 2015
  Updated copyright to 2015
  Clarify a comment.

Conflicts:
	src/Symfony/Component/HttpKernel/Fragment/EsiFragmentRenderer.php
2015-01-03 09:01:59 +01:00
Fabien Potencier
6f34c47e27 Merge branch '2.3' into 2.5
* 2.3:
  Use PHPUnit ini_set wrapper in tests
  [Process] Added a test skip check for Windows
  [Process] Removed unused variable assignment
  Fixes various phpdoc and coding standards.
  Fixes Issue #13184 - incremental output getters now return empty strings
  Updated copyright to 2015

Conflicts:
	src/Symfony/Bridge/Doctrine/Form/ChoiceList/EntityChoiceList.php
	src/Symfony/Bridge/Propel1/Form/ChoiceList/ModelChoiceList.php
	src/Symfony/Bundle/TwigBundle/Command/LintCommand.php
	src/Symfony/Component/Debug/ExceptionHandler.php
	src/Symfony/Component/Process/Tests/AbstractProcessTest.php
2015-01-03 09:01:13 +01:00
Hugo Hamon
b83da8f742 Fixes various phpdoc and coding standards. 2015-01-02 09:58:20 +01:00
Saro0h
2221a150fe [3.0] [Twig Bridge] Fixed Tests 2014-12-30 18:25:10 +01:00
Graham Campbell
35e0845f23 [3.0] Removed some old hacks 2014-12-30 11:17:11 +01:00
Fabien Potencier
c4dc0034e7 Merge branch '2.3' into 2.5
* 2.3:
  Updated generateSql tool
  Fix the implementation of deprecated Locale classes
  Fix phpdoc and coding standards
  Replace usages of the deprecated TypeTestCase by the new one
  Remove usages of deprecated constants
  Update functional tests to use the PSR NullLogger
  Make fabbot happy
  Clean up testing
  [DomCrawler] fixed bug #12143

Conflicts:
	src/Symfony/Bridge/Doctrine/Tests/Validator/Constraints/UniqueEntityValidatorTest.php
	src/Symfony/Bundle/FrameworkBundle/Tests/Templating/TimedPhpEngineTest.php
	src/Symfony/Bundle/TwigBundle/Tests/Loader/FilesystemLoaderTest.php
	src/Symfony/Component/Console/Application.php
	src/Symfony/Component/DomCrawler/Crawler.php
	src/Symfony/Component/Form/Tests/Extension/Core/Type/CollectionTypeTest.php
	src/Symfony/Component/Form/Tests/Extension/Csrf/Type/FormTypeCsrfExtensionTest.php
	src/Symfony/Component/HttpKernel/Tests/Bundle/BundleTest.php
	src/Symfony/Component/Serializer/Encoder/EncoderInterface.php
	src/Symfony/Component/Serializer/Encoder/XmlEncoder.php
	src/Symfony/Component/Validator/Tests/Mapping/ClassMetadataFactoryTest.php
2014-12-30 10:03:46 +01:00
Christophe Coevoet
8cc3f6aad4 Fix phpdoc and coding standards
This removes the unused use statements which were not catched by
PHP-CS-Fixer because of string occurences. It also fixes some invalid
phpdoc (scalar is not recognized as a valid type for instance).
2014-12-29 23:41:34 +01:00
Fabien Potencier
37909a407f Merge branch '2.7'
* 2.7:
  [2.3] CS And DocBlock Fixes
  [Serializer] Serialization groups support
  [2.3] CS Fixes
  Fixed the issue 11116
  [Security] Fixed tests
  [Debug] use ternary operator to simplify the getClassLoader() method in DebugClassLoader class.
  [FrameworkBundle] Fixed Translation loader and update translation command.
  [Console] remove « use » statement for PHP built-in exception classes.
  [SecurityBundle] replaced deprecated SecurityContextInterface dependency by new TokenStorageInterface instance in SecurityDataCollector. Also added unit tests suite for SecurityDataCollector class.
  [SecurityBundle] use TokenStorageInterface instead of deprecated SecurityContextInterface in SecurityDataCollector and added unit tests suite.
  [SecurityBundle] adds unit tests suite for SecurityDataCollector class.
  [Serializer] Add xml_format_output context option. Close #12517.
  [WebProfilerBundle] Fixed IE8 support
2014-12-22 17:45:23 +01:00
Fabien Potencier
7c026bb33e Merge branch '2.6' into 2.7
* 2.6:
  [2.3] CS And DocBlock Fixes
  [2.3] CS Fixes
  [FrameworkBundle] Fixed Translation loader and update translation command.
  [Console] remove « use » statement for PHP built-in exception classes.
  [SecurityBundle] adds unit tests suite for SecurityDataCollector class.

Conflicts:
	src/Symfony/Bundle/SecurityBundle/DataCollector/SecurityDataCollector.php
2014-12-22 17:45:18 +01:00
Fabien Potencier
72c169e8a1 Merge branch '2.5' into 2.6
* 2.5:
  [2.3] CS And DocBlock Fixes
  [2.3] CS Fixes
  [FrameworkBundle] Fixed Translation loader and update translation command.
  [Console] remove « use » statement for PHP built-in exception classes.
  [SecurityBundle] adds unit tests suite for SecurityDataCollector class.

Conflicts:
	src/Symfony/Bundle/SecurityBundle/DataCollector/SecurityDataCollector.php
	src/Symfony/Bundle/SecurityBundle/Tests/DataCollector/SecurityDataCollectorTest.php
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
	src/Symfony/Component/DependencyInjection/Dumper/YamlDumper.php
	src/Symfony/Component/Form/Form.php
	src/Symfony/Component/HttpKernel/HttpCache/HttpCache.php
	src/Symfony/Component/OptionsResolver/Options.php
	src/Symfony/Component/OptionsResolver/OptionsResolver.php
	src/Symfony/Component/Process/ProcessPipes.php
	src/Symfony/Component/Stopwatch/Stopwatch.php
	src/Symfony/Component/Translation/Loader/XliffFileLoader.php
	src/Symfony/Component/Validator/Tests/Constraints/AbstractComparisonValidatorTestCase.php
2014-12-22 17:44:09 +01:00
Fabien Potencier
f26c062c00 Merge branch '2.3' into 2.5
* 2.3:
  [2.3] CS And DocBlock Fixes
  [2.3] CS Fixes

Conflicts:
	src/Symfony/Bridge/Doctrine/Security/RememberMe/DoctrineTokenProvider.php
	src/Symfony/Bundle/FrameworkBundle/Command/ContainerDebugCommand.php
	src/Symfony/Bundle/FrameworkBundle/Command/RouterDebugCommand.php
	src/Symfony/Bundle/FrameworkBundle/EventListener/TestSessionListener.php
	src/Symfony/Component/Config/Definition/ReferenceDumper.php
	src/Symfony/Component/Console/Application.php
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
	src/Symfony/Component/Filesystem/Tests/FilesystemTest.php
	src/Symfony/Component/Form/Extension/Csrf/EventListener/CsrfValidationListener.php
	src/Symfony/Component/Form/FormError.php
	src/Symfony/Component/HttpFoundation/Request.php
	src/Symfony/Component/HttpFoundation/Response.php
	src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
	src/Symfony/Component/Process/ProcessUtils.php
	src/Symfony/Component/PropertyAccess/PropertyAccessor.php
	src/Symfony/Component/PropertyAccess/PropertyAccessorInterface.php
	src/Symfony/Component/Serializer/Encoder/XmlEncoder.php
	src/Symfony/Component/Validator/Constraints/CardSchemeValidator.php
	src/Symfony/Component/Validator/Constraints/GroupSequence.php
	src/Symfony/Component/Validator/Mapping/ClassMetadata.php
	src/Symfony/Component/Validator/Mapping/ClassMetadataFactory.php
	src/Symfony/Component/Validator/Mapping/MemberMetadata.php
	src/Symfony/Component/Validator/Tests/Fixtures/StubGlobalExecutionContext.php
2014-12-22 17:29:52 +01:00
Graham Campbell
83c15db887 [2.3] CS And DocBlock Fixes 2014-12-22 16:58:09 +01:00
Saro0h
7b33d1a060 Removed all $that variables 2014-12-21 13:10:13 +01:00
Nicolas Grekas
7185d50649 Merge branch '2.6' into 2.7
* 2.6: (24 commits)
  [Form] fixed a maxlength overring on a guessing
  [Debug] Show only unique class candidates
  [SecurityBundle] Firewall providers building - code cleaning
  [Filesystem] symlink use RealPath instead LinkTarget
  [DependencyInjection] Remove duplicate  declaration in PhpDumper
  terminals are not interactive on Travis
  Revert "[DependencyInjection] backport perf optim"
  [WebProfiler] Tweaked ajax requests toolbar css reset
  [WebProfilerBundle] replaced pattern to path attribute in routes definitions.
  fix phpdoc's alignment
  Fix missing addExpressionLanguageProvider (used by service container to add expression providers)
  Fixed the AuthenticationProviderInterface alignment
  Fixed the proxy-manager version constraint
  Fix missing space in label_attr
  fix DumpDataCollectorTest after CS changes
  avoid risky tests
  Fixed typo in SecurityContext PHPDoc
  [FrameworkBundle][Template name] avoid  error message for the shortcut notation.
  [DependencyInjection] perf optim: call dirname() at most 5x
  [DependencyInjection] backport perf optim
  ...
2014-12-12 17:23:01 +01:00
Nicolas Grekas
ea17bc78a8 Merge branch '2.5' into 2.6
* 2.5:
  [Form] fixed a maxlength overring on a guessing
  [Debug] Show only unique class candidates
  [SecurityBundle] Firewall providers building - code cleaning
  [Filesystem] symlink use RealPath instead LinkTarget
  [DependencyInjection] Remove duplicate  declaration in PhpDumper
  terminals are not interactive on Travis
  Revert "[DependencyInjection] backport perf optim"
  [WebProfilerBundle] replaced pattern to path attribute in routes definitions.
  fix phpdoc's alignment
  Fixed the AuthenticationProviderInterface alignment
  Fixed the proxy-manager version constraint
  [FrameworkBundle][Template name] avoid  error message for the shortcut notation.
  [DependencyInjection] perf optim: call dirname() at most 5x
  [DependencyInjection] backport perf optim
  Fixed #12845 adding a listener to an event that is currently being dispatched will not result into a fatal error in TraceableEventDispatcher [EventDispatcher]
  [2.5] Remove possible call_user_func()
  [2.3] Remove possible call_user_func()

Conflicts:
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services1-1.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services1.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services11.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services12.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services8.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9.php
2014-12-12 17:21:40 +01:00
Fabien Potencier
7e573f4f8a Merge branch '2.3' into 2.5
* 2.3:
  Revert "[DependencyInjection] backport perf optim"
  [WebProfilerBundle] replaced pattern to path attribute in routes definitions.
  [FrameworkBundle][Template name] avoid  error message for the shortcut notation.
  [DependencyInjection] perf optim: call dirname() at most 5x
  [DependencyInjection] backport perf optim
  [2.3] Remove possible call_user_func()

Conflicts:
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services10.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services11.php
	src/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_compiled.php
2014-12-11 20:53:06 +01:00
Abdellatif Ait boudad
055129c1c2 [FrameworkBundle][Template name] avoid error message for the shortcut notation. 2014-12-08 10:32:45 +00:00
Fabien Potencier
eee117285a Merge branch '2.6' into 2.7
* 2.6:
  Configure firewall's kernel exception listener with configured entry point or a default entry point
  PSR-2 fixes
  [DependencyInjection] make paths relative to __DIR__ in the generated container
  [FrameworkBundle][Router Cmd] use debug namespace.
  [FrameworkBundle] Update deprecated service call
  Removed a dev annotation from a version constraint
  Fixed the syntax of a composer.json file
  Fixed the symfony/config version constraint
  Tweaked the password-compat version constraint
  Docblock fixes
  [Filesystem] fix lock file permissions
  Remove dialog usage
  define constant only if it wasn't defined before
  Fix incorrect spanish translation
  Fixed typos
  Fixed a docblock
  bumped Symfony version to 2.6.1
  updated VERSION for 2.6.0
  updated CHANGELOG for 2.6.0
  removed unneeded check

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
2014-12-02 21:19:50 +01:00
Fabien Potencier
83ee704816 Merge branch '2.5' into 2.6
* 2.5:
  Configure firewall's kernel exception listener with configured entry point or a default entry point
  PSR-2 fixes
  [DependencyInjection] make paths relative to __DIR__ in the generated container
  Fixed the syntax of a composer.json file
  Fixed the symfony/config version constraint
  Tweaked the password-compat version constraint
  Docblock fixes
  Remove dialog usage
  define constant only if it wasn't defined before
  Fix incorrect spanish translation
  Fixed typos

Conflicts:
	src/Symfony/Bundle/TwigBundle/Controller/ExceptionController.php
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
	src/Symfony/Component/OptionsResolver/Options.php
	src/Symfony/Component/OptionsResolver/OptionsResolverInterface.php
	src/Symfony/Component/Process/ProcessPipes.php
	src/Symfony/Component/Security/Http/Tests/Firewall/RememberMeListenerTest.php
	src/Symfony/Component/Serializer/Normalizer/DenormalizableInterface.php
	src/Symfony/Component/Validator/ConstraintViolation.php
	src/Symfony/Component/Yaml/Inline.php
	src/Symfony/Component/Yaml/Parser.php
2014-12-02 21:19:20 +01:00
Fabien Potencier
ab1e9f3f81 Merge branch '2.3' into 2.5
* 2.3:
  Configure firewall's kernel exception listener with configured entry point or a default entry point
  PSR-2 fixes
  [DependencyInjection] make paths relative to __DIR__ in the generated container
  Fixed the syntax of a composer.json file
  Fixed the symfony/config version constraint
  Tweaked the password-compat version constraint
  Docblock fixes
  define constant only if it wasn't defined before
  Fix incorrect spanish translation
  Fixed typos

Conflicts:
	composer.json
	src/Symfony/Bridge/Twig/TwigEngine.php
	src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php
	src/Symfony/Bundle/FrameworkBundle/Templating/Loader/FilesystemLoader.php
	src/Symfony/Bundle/FrameworkBundle/composer.json
	src/Symfony/Component/Console/Descriptor/MarkdownDescriptor.php
	src/Symfony/Component/Console/Helper/TableHelper.php
	src/Symfony/Component/Console/Tests/Helper/HelperSetTest.php
	src/Symfony/Component/Debug/ErrorHandler.php
	src/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
	src/Symfony/Component/Finder/Tests/Iterator/RecursiveDirectoryIteratorTest.php
	src/Symfony/Component/Form/Tests/Extension/Core/DataMapper/PropertyPathMapperTest.php
	src/Symfony/Component/HttpFoundation/Response.php
	src/Symfony/Component/HttpFoundation/StreamedResponse.php
	src/Symfony/Component/HttpKernel/Controller/ControllerResolver.php
	src/Symfony/Component/HttpKernel/Controller/ControllerResolverInterface.php
	src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
	src/Symfony/Component/HttpKernel/Fragment/RoutableFragmentRenderer.php
	src/Symfony/Component/HttpKernel/Tests/DataCollector/RequestDataCollectorTest.php
	src/Symfony/Component/Intl/NumberFormatter/NumberFormatter.php
	src/Symfony/Component/Process/Process.php
	src/Symfony/Component/Process/Tests/AbstractProcessTest.php
	src/Symfony/Component/PropertyAccess/PropertyAccessorBuilder.php
	src/Symfony/Component/Routing/Tests/Fixtures/validpattern.php
	src/Symfony/Component/Security/Http/RememberMe/TokenBasedRememberMeServices.php
	src/Symfony/Component/Security/composer.json
	src/Symfony/Component/Serializer/Encoder/XmlEncoder.php
	src/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.php
	src/Symfony/Component/Stopwatch/StopwatchEvent.php
	src/Symfony/Component/Stopwatch/StopwatchPeriod.php
	src/Symfony/Component/Templating/PhpEngine.php
	src/Symfony/Component/Templating/TemplateReference.php
	src/Symfony/Component/Templating/TemplateReferenceInterface.php
	src/Symfony/Component/Translation/TranslatorInterface.php
	src/Symfony/Component/Validator/ConstraintViolation.php
	src/Symfony/Component/Validator/ExecutionContextInterface.php
	src/Symfony/Component/Validator/Mapping/ClassMetadata.php
	src/Symfony/Component/Validator/MetadataFactoryInterface.php
2014-12-02 21:15:53 +01:00
Graham Campbell
443307edc1 Docblock fixes 2014-11-30 13:33:44 +00:00
Maximilian Reichel
7d9afd72ed add deprecation log (#12618) 2014-11-29 11:52:21 +01:00
Fabien Potencier
f288a69ae5 Merge branch '2.5' into 2.6
* 2.5:
  [SecurityBundle] Authentication entry point is only registered with firewall exception listener, not with authentication listeners
  be smarter when guessing the document root
  Azerbaijani locale
  Fixed grammar error in docblock
  Adjust upgrade file rendering
  [Bridge/Propel1] Changed deps to accepts all upcoming propel1 versions
  compare version using PHP_VERSION_ID
  [Form] Add doc for FormEvents
  don't override internal PHP constants
  [Session] Fix parameter names in WriteCheckSessionHandler
  Add consistency with request type checking
  [FrameworkBundle] Fix server run in case the router script does not exist

Conflicts:
	composer.json
	src/Symfony/Component/Debug/ErrorHandler.php
	src/Symfony/Component/Debug/ExceptionHandler.php
2014-11-20 14:24:23 +01:00
Fabien Potencier
891ebe594e Merge branch '2.3' into 2.5
* 2.3:
  [SecurityBundle] Authentication entry point is only registered with firewall exception listener, not with authentication listeners
  be smarter when guessing the document root
  Azerbaijani locale
  Fixed grammar error in docblock
  Adjust upgrade file rendering
  [Bridge/Propel1] Changed deps to accepts all upcoming propel1 versions
  compare version using PHP_VERSION_ID
  [Form] Add doc for FormEvents
  don't override internal PHP constants

Conflicts:
	UPGRADE-3.0.md
	src/Symfony/Bundle/FrameworkBundle/Command/ServerRunCommand.php
	src/Symfony/Component/Debug/ErrorHandler.php
	src/Symfony/Component/HttpFoundation/Response.php
2014-11-20 14:22:25 +01:00
Christian Flothmann
367ed3ce85 compare version using PHP_VERSION_ID
To let opcode caches optimize cached code, the `PHP_VERSION_ID`
constant is used to detect the current PHP version instead of calling
`version_compare()` with `PHP_VERSION`.
2014-11-17 17:27:42 +01:00
Christian Flothmann
376cc0332d don't override internal PHP constants 2014-11-16 18:59:41 +01:00
Fabien Potencier
842cba1d0c Merge branch '2.5'
* 2.5:
  Remove aligned '=>' and '='
  Break infinite loop while resolving aliases
  [Security][listener] change priority of switchuser
  Improved the phpdoc for security token classes
  bumped Symfony version to 2.5.7
  updated VERSION for 2.5.6
  updated CHANGELOG for 2.5.6
  bumped Symfony version to 2.3.22
  updated VERSION for 2.3.21
  update CONTRIBUTORS for 2.3.21
  updated CHANGELOG for 2.3.21

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php
	src/Symfony/Bundle/SecurityBundle/DependencyInjection/Security/Factory/AbstractFactory.php
	src/Symfony/Bundle/TwigBundle/Controller/ExceptionController.php
	src/Symfony/Component/Debug/ErrorHandler.php
	src/Symfony/Component/Debug/ExceptionHandler.php
	src/Symfony/Component/Form/Extension/Core/Type/BaseType.php
	src/Symfony/Component/Form/Extension/Core/Type/ChoiceType.php
	src/Symfony/Component/Form/Extension/Core/Type/DateTimeType.php
	src/Symfony/Component/Form/Extension/Core/Type/DateType.php
	src/Symfony/Component/Form/Extension/Core/Type/TimeType.php
	src/Symfony/Component/Form/Extension/Validator/Type/FormTypeValidatorExtension.php
	src/Symfony/Component/HttpFoundation/Request.php
	src/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php
	src/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Security/Core/SecurityContextInterface.php
	src/Symfony/Component/Security/Http/Authentication/DefaultAuthenticationFailureHandler.php
	src/Symfony/Component/Security/Http/Authentication/DefaultAuthenticationSuccessHandler.php
	src/Symfony/Component/Security/Http/Firewall/AnonymousAuthenticationListener.php
	src/Symfony/Component/Serializer/Serializer.php
	src/Symfony/Component/Validator/Constraints/File.php
2014-10-26 08:46:28 +01:00
Fabien Potencier
b5b12a54f7 Merge branch '2.3' into 2.5
* 2.3:
  Remove aligned '=>' and '='
  Break infinite loop while resolving aliases
  [Security][listener] change priority of switchuser
  Improved the phpdoc for security token classes
  bumped Symfony version to 2.3.22
  updated VERSION for 2.3.21
  update CONTRIBUTORS for 2.3.21
  updated CHANGELOG for 2.3.21

Conflicts:
	src/Symfony/Bridge/Propel1/Form/ChoiceList/ModelChoiceList.php
	src/Symfony/Bridge/Propel1/Form/Type/ModelType.php
	src/Symfony/Bridge/Propel1/Logger/PropelLogger.php
	src/Symfony/Bridge/Propel1/Tests/Fixtures/ItemQuery.php
	src/Symfony/Bundle/FrameworkBundle/Command/RouterDebugCommand.php
	src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php
	src/Symfony/Bundle/FrameworkBundle/Translation/Translator.php
	src/Symfony/Bundle/SecurityBundle/DependencyInjection/SecurityExtension.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/Console/Descriptor/JsonDescriptor.php
	src/Symfony/Component/Console/Formatter/OutputFormatterStyle.php
	src/Symfony/Component/Console/Helper/ProgressHelper.php
	src/Symfony/Component/Debug/ErrorHandler.php
	src/Symfony/Component/DependencyInjection/Container.php
	src/Symfony/Component/Finder/Shell/Command.php
	src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php
	src/Symfony/Component/Form/Extension/Core/Type/CollectionType.php
	src/Symfony/Component/Form/Extension/Core/Type/FormType.php
	src/Symfony/Component/Form/Extension/Core/Type/IntegerType.php
	src/Symfony/Component/Form/Extension/Core/Type/NumberType.php
	src/Symfony/Component/Form/Extension/Csrf/Type/FormTypeCsrfExtension.php
	src/Symfony/Component/HttpFoundation/File/UploadedFile.php
	src/Symfony/Component/HttpKernel/DataCollector/LoggerDataCollector.php
	src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
	src/Symfony/Component/HttpKernel/EventListener/ExceptionListener.php
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/HttpKernel/Tests/EventListener/TestSessionListenerTest.php
	src/Symfony/Component/HttpKernel/Tests/HttpCache/TestMultipleHttpKernel.php
	src/Symfony/Component/Intl/NumberFormatter/NumberFormatter.php
	src/Symfony/Component/Routing/Loader/AnnotationClassLoader.php
	src/Symfony/Component/Routing/Route.php
	src/Symfony/Component/Routing/Tests/Loader/AnnotationClassLoaderTest.php
	src/Symfony/Component/Security/Tests/Core/Validator/Constraints/UserPasswordValidatorTest.php
	src/Symfony/Component/Templating/PhpEngine.php
	src/Symfony/Component/Validator/Constraints/ImageValidator.php
	src/Symfony/Component/Validator/Constraints/TypeValidator.php
2014-10-26 08:41:27 +01:00
Disquedur
51312d31cc Remove aligned '=>' and '=' 2014-10-26 08:30:58 +01:00
Nicolas Grekas
c6923afcd0 [Debug] add some file link format handling 2014-09-26 16:49:32 +02:00
Iltar van der Berg
3f055f706c Fixed a bug and added unit-tests for GlobalVariables 2014-09-24 16:46:33 +02:00
Iltar van der Berg
b967787185 Split of the SecurityContext to AuthorizationChecker and TokenStorage 2014-09-24 09:31:49 +02:00
Fabien Potencier
2314328b16 Merge branch '2.4'
* 2.4:
  fixed types in phpdocs
  fixed types in phpdocs

Conflicts:
	src/Symfony/Component/Security/Core/Encoder/BasePasswordEncoder.php
	src/Symfony/Component/Security/Http/RememberMe/TokenBasedRememberMeServices.php
	src/Symfony/Component/Serializer/Encoder/JsonEncoder.php
	src/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.php
	src/Symfony/Component/Validator/Mapping/ClassMetadata.php
	src/Symfony/Component/Validator/Mapping/ElementMetadata.php
	src/Symfony/Component/Validator/Mapping/MemberMetadata.php
	src/Symfony/Component/Validator/MetadataFactoryInterface.php
2014-04-16 12:36:21 +02:00
Fabien Potencier
d5bd9bdd68 Merge branch '2.3' into 2.4
* 2.3:
  fixed types in phpdocs

Conflicts:
	src/Symfony/Bridge/Twig/TwigEngine.php
	src/Symfony/Bundle/FrameworkBundle/Templating/Loader/FilesystemLoader.php
	src/Symfony/Component/Filesystem/Tests/FilesystemTest.php
	src/Symfony/Component/Form/Extension/Core/ChoiceList/SimpleChoiceList.php
	src/Symfony/Component/HttpKernel/Controller/ControllerResolver.php
	src/Symfony/Component/HttpKernel/Controller/ControllerResolverInterface.php
	src/Symfony/Component/PropertyAccess/PropertyAccessorBuilder.php
	src/Symfony/Component/Serializer/Encoder/XmlEncoder.php
	src/Symfony/Component/Stopwatch/StopwatchEvent.php
	src/Symfony/Component/Templating/PhpEngine.php
2014-04-16 12:34:31 +02:00
Fabien Potencier
e96b018805 fixed types in phpdocs 2014-04-16 12:30:19 +02:00
Fabien Potencier
df3d543349 Merge branch '2.4'
* 2.4:
  made types consistent with those defined in Hack
  made {@inheritdoc} annotations consistent across the board
  made {@inheritdoc} annotations consistent across the board
  fixed types in phpdocs
  [Debug] Fixed ClassNotFoundFatalErrorHandler on windows.
  made phpdoc types consistent with those defined in Hack
  Add support Thai translations
  [Validator] Add missing czech translations
  made types consistent with those defined in Hack
  removed extra/unsupported arguments
  [HttpKernel] fixed an error message
  [TwigBundle] removed undefined argument
  [Translation] Make IcuDatFileLoader/IcuResFileLoader::load invalid resource compatible with HHVM.

Conflicts:
	src/Symfony/Component/Console/Helper/TableHelper.php
	src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php
	src/Symfony/Component/Form/FormError.php
	src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
	src/Symfony/Component/Process/ProcessPipes.php
	src/Symfony/Component/PropertyAccess/PropertyAccessor.php
	src/Symfony/Component/Security/Acl/Dbal/MutableAclProvider.php
	src/Symfony/Component/Security/Http/RememberMe/TokenBasedRememberMeServices.php
	src/Symfony/Component/Translation/Dumper/FileDumper.php
	src/Symfony/Component/Validator/ConstraintViolation.php
	src/Symfony/Component/Validator/Constraints/EmailValidator.php
	src/Symfony/Component/Validator/ExecutionContextInterface.php
	src/Symfony/Component/Validator/Mapping/BlackholeMetadataFactory.php
2014-04-16 10:08:40 +02:00
Fabien Potencier
29b6f6b3a0 Merge branch '2.3' into 2.4
* 2.3:
  made {@inheritdoc} annotations consistent across the board
  fixed types in phpdocs
  made phpdoc types consistent with those defined in Hack
  Add support Thai translations
  made types consistent with those defined in Hack
  removed extra/unsupported arguments
  [HttpKernel] fixed an error message
  [TwigBundle] removed undefined argument
  [Translation] Make IcuDatFileLoader/IcuResFileLoader::load invalid resource compatible with HHVM.

Conflicts:
	src/Symfony/Bridge/ProxyManager/Tests/LazyProxy/Fixtures/php/lazy_service.php
	src/Symfony/Bundle/FrameworkBundle/Command/ContainerDebugCommand.php
	src/Symfony/Bundle/FrameworkBundle/Templating/Loader/FilesystemLoader.php
	src/Symfony/Bundle/WebProfilerBundle/EventListener/WebDebugToolbarListener.php
	src/Symfony/Component/Config/Definition/ReferenceDumper.php
	src/Symfony/Component/Console/Helper/DescriptorHelper.php
	src/Symfony/Component/Debug/ErrorHandler.php
	src/Symfony/Component/Finder/Tests/Iterator/RecursiveDirectoryIteratorTest.php
	src/Symfony/Component/Form/Extension/Core/DataTransformer/IntegerToLocalizedStringTransformer.php
	src/Symfony/Component/Form/Tests/Extension/Core/DataMapper/PropertyPathMapperTest.php
	src/Symfony/Component/HttpFoundation/Response.php
	src/Symfony/Component/HttpFoundation/StreamedResponse.php
	src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
	src/Symfony/Component/HttpKernel/EventListener/ProfilerListener.php
	src/Symfony/Component/HttpKernel/Fragment/FragmentHandler.php
	src/Symfony/Component/HttpKernel/Fragment/RoutableFragmentRenderer.php
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/HttpKernel/Tests/Fixtures/KernelForTest.php
	src/Symfony/Component/Intl/NumberFormatter/NumberFormatter.php
	src/Symfony/Component/Security/Core/Authorization/AccessDecisionManager.php
	src/Symfony/Component/Stopwatch/StopwatchPeriod.php
	src/Symfony/Component/Translation/TranslatorInterface.php
	src/Symfony/Component/Validator/ConstraintValidatorFactory.php
2014-04-16 10:02:57 +02:00
Fabien Potencier
3c9c10f3a0 made phpdoc types consistent with those defined in Hack 2014-04-15 07:41:45 +02:00
Fabien Potencier
0555b7f2ab made types consistent with those defined in Hack 2014-04-13 20:00:14 +02:00
Fabien Potencier
18d69a8ff2 Merge branch '2.4'
* 2.4:
  removed unneeded use statements
  [DoctrineBridge] Fixed an issue with DoctrineParserCache
  removed unneeded use statements
  Prepend Child Bundle paths before the parent
  [Routing] add unit tests for Symfony\Component\Routing\RequestContext class
2014-01-01 10:16:05 +01:00
Fabien Potencier
e0402bae65 Merge branch '2.3' into 2.4
* 2.3:
  removed unneeded use statements
  Prepend Child Bundle paths before the parent
  [Routing] add unit tests for Symfony\Component\Routing\RequestContext class

Conflicts:
	src/Symfony/Component/Form/Extension/Csrf/CsrfExtension.php
	src/Symfony/Component/HttpKernel/DataCollector/TimeDataCollector.php
	src/Symfony/Component/Validator/ConstraintValidatorFactory.php
2014-01-01 09:14:50 +01:00
Fabien Potencier
7f9a366529 removed unneeded use statements 2014-01-01 08:52:14 +01:00
Fabien Potencier
8850456c4e Merge branch '2.4'
* 2.4:
  [Security] fixed pre/post authentication checks
  fixed missing use statements
  Updated lithuanian validator translation: changed vartotojas to naudotojas as it is more proper term.
  Fixed CSS
  [Intl] Added round support for ROUND_CEILING, ROUND_FLOOR, ROUND_DOWN, ROUND_UP
  [HttpFoundation] Throw proper exception when invalid data is passed to JsonResponse class
  addressed == -> === suggestion
  Fixed #9020 - Added support for collections in service#parameters
  fixes PSR-0 issues in tests
  adjusted behavior to always copy override on url files
  Skips test that need full lib-intl.
2013-12-31 14:43:37 +01:00
Fabien Potencier
920c6814fe bug #9910 fixed missing use statements (fabpot)
This PR was merged into the 2.4 branch.

Discussion
----------

fixed missing use statements

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

Commits
-------

50a6d70 fixed missing use statements
2013-12-31 12:02:51 +01:00
Fabien Potencier
50a6d706c4 fixed missing use statements 2013-12-31 11:50:12 +01:00
Fabien Potencier
3203793a6a added a missing namespace use statement 2013-12-31 09:21:53 +01:00
Fabien Potencier
28a8400867 feature #9251 [WIP] [FrameworkBundle] removed some more dependencies on the request service (fabpot)
This PR was merged into the 2.5-dev branch.

Discussion
----------

[WIP] [FrameworkBundle] removed some more dependencies on the request service

| Q             | A
| ------------- | ---
| Bug fix?      | kinda (see linked tickets)
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #8915, #9185
| License       | MIT
| Doc PR        | n/a

/cc @kriswallsmith

Commits
-------

4f3d502 [FrameworkBundle] removed some more dependencies on the request service
2013-12-31 09:04:52 +01:00
Fabien Potencier
4f3d502d6e [FrameworkBundle] removed some more dependencies on the request service 2013-12-29 19:26:53 +01:00
Fabien Potencier
3a1d2200b0 Merge branch '2.3' into 2.4
* 2.3:
  fixed typos
  Fixed deprecated method calls
  Add testing against HHVM at Travis-CI
  Fixed typo
  Fixed typo
  fixed acronyms
  [Validator] Fixed IBAN validator with 0750447346 value

Conflicts:
	src/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php
2013-12-28 22:39:51 +01:00
Fabien Potencier
15baa81fdc fixed acronyms 2013-12-28 09:33:14 +01:00
Fabien Potencier
b74a887cd9 minor #9487 unify constructor initialization style throughout symfony (Tobion)
This PR was merged into the master branch.

Discussion
----------

unify constructor initialization style throughout symfony

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

In almost all classes symfony uses property initialization when the value is static. Constructor initialization is only used for things that actually have logic, like passed parameters or dynamic values. IMHO it makes the code much more readable because property definition, phpdoc and default value is in one place. Also one can easily see what the constructor implements for logic like overridden default value of a parent class. Otherwise the real deal is just hidden behind 10 property initializations. One more advantage is that it requires less code. As you can see, the code was almost cut in half (210 additions and 395 deletions).
I unified it accordingly across symfony. Sometimes it was [not even consistent within one class](https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Config/Definition/BaseNode.php#L32). At the same time I recognized some errors like missing parent constructor call, or undefined properties or private properties that are not even used.

I then realized that a few Kernel tests were not passing because they were deeply implementation specific like modifying booted flag with a custom `KernelForTest->setIsBooted();`. I improved and refactored the kernel tests in the __second commit__.

__Third commit__ unifies short ternary operator, e.g. `$foo ?: new Foo()`. __Forth commit__ unifies missing parentheses, e.g. `new Foo()`.

Commits
-------

077a089 unify missing parentheses
2888594 unify short ternary operator
2a9daff [HttpKernel] better written kernel tests
111ac18 unify constructor initialization style throughout symfony
2013-11-22 18:42:00 +01:00
Hugo Hamon
9c2ce49d92 [FrameworkBundle] use the new request_stack object in the GlobalVariables object 2013-11-20 13:37:49 +01:00
Tobias Schultze
111ac18232 unify constructor initialization style throughout symfony 2013-11-11 19:40:07 +01:00
Pascal Borreli
e8af42e780 Fixed typos 2013-11-09 12:55:32 +01:00
Fabien Potencier
abb765f135 minor #8927 [Templating] fix logic regarding template references and many phpdocs (Tobion)
This PR was squashed before being merged into the master branch (closes #8927).

Discussion
----------

[Templating] fix logic regarding template references and many phpdocs

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

this clarifies the expected types and exceptions by much. and it fixes some logic flaws.
- missing info/methods in interfaces
- respecting Twig_LoaderInterface only accepting strings, not objects

related to fabpot/Twig#1183 but does not depend on it

Commits
-------

f6c12bd [Templating] fix logic regarding template references and many phpdocs
2013-10-01 14:37:06 +02:00
Tobias Schultze
f6c12bd6de [Templating] fix logic regarding template references and many phpdocs 2013-10-01 14:37:05 +02:00
Bernhard Schussek
2048cf6d35 [Form] Deprecated the CSRF implementation and added an optional dependency to the Security CSRF sub-component instead 2013-09-27 10:12:40 +02:00
Fabien Potencier
51c6d7696c Merge branch '2.3'
* 2.3:
  fixed phpdoc
  Fix some annotates
  [FrameworkBundle] made sure that the debug event dispatcher is used everywhere
  [HttpKernel] remove unneeded strtoupper
  updated the composer install command to reflect changes in Composer

Conflicts:
	src/Symfony/Component/Serializer/Encoder/XmlEncoder.php
2013-09-19 11:47:34 +02:00
Fabien Potencier
88cef41560 Merge branch '2.2' into 2.3
* 2.2:
  Fix some annotates
  [FrameworkBundle] made sure that the debug event dispatcher is used everywhere
  [HttpKernel] remove unneeded strtoupper
  updated the composer install command to reflect changes in Composer

Conflicts:
	src/Symfony/Component/Console/Application.php
	src/Symfony/Component/Console/Command/Command.php
	src/Symfony/Component/Console/Input/InputDefinition.php
	src/Symfony/Component/CssSelector/Node/CombinedSelectorNode.php
	src/Symfony/Component/Form/Form.php
	src/Symfony/Component/HttpKernel/Debug/ErrorHandler.php
	src/Symfony/Component/HttpKernel/DependencyInjection/RegisterListenersPass.php
	src/Symfony/Component/HttpKernel/Tests/DependencyInjection/RegisterListenersPassTest.php
	src/Symfony/Component/Locale/Locale.php
	src/Symfony/Component/Locale/README.md
	src/Symfony/Component/Locale/Stub/DateFormat/FullTransformer.php
2013-09-19 11:45:20 +02:00
bronze1man
de39bd5433 Fix some annotates 2013-09-19 11:36:05 +02:00
Fabien Potencier
fc437cf6fb Merge branch '2.3'
* 2.3:
  [FrameworkBundle][Security] Replaced void return type with null for consistency
  fixed CS
  NativeSessionStorage regenerate
  removed unneeded comment
  Use setTimeZone if this method exists.
  Fix FileResource test
  fixed wrong usage of unset()
  [HttpFoundation] Fixed the way path to directory is trimmed.
  [Console] Fixed argument parsing when a single dash is passed.
2013-09-13 14:20:47 +02:00
Fabien Potencier
33e9571886 Merge branch '2.2' into 2.3
* 2.2:
  [FrameworkBundle][Security] Replaced void return type with null for consistency
  fixed CS
  NativeSessionStorage regenerate
  removed unneeded comment
  Use setTimeZone if this method exists.
  Fix FileResource test
  fixed wrong usage of unset()
  [HttpFoundation] Fixed the way path to directory is trimmed.
  [Console] Fixed argument parsing when a single dash is passed.

Conflicts:
	src/Symfony/Component/HttpKernel/Debug/ErrorHandler.php
2013-09-13 14:20:37 +02:00
Jakub Zalas
e4100ac2fa [FrameworkBundle][Security] Replaced void return type with null for consistency 2013-09-13 14:06:44 +02:00
WouterJ
3ee2989287 Added Stopwatch Helper 2013-09-11 22:40:31 +02:00
Fabien Potencier
08ec911c8e merged branch Tobion/deprecate-debuggerinterface (PR #8929)
This PR was merged into the master branch.

Discussion
----------

[Templating] deprecate DebuggerInterface

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | yes: deprecated DebuggerInterface and Debugger
| Tests pass?   | yes
| Fixed tickets | #8926
| License       | MIT

- [x] add suggested optional dependency in templating component to Psr log
- [x] remove ProjectTemplateDebugger from tests

Commits
-------

b853438 [Templating] deprecate DebuggerInterface
2013-09-07 19:45:30 +02:00
Fabien Potencier
091a96ca3d Merge branch '2.3'
* 2.3:
  Fixing singular form for kisses, accesses and addresses.
  fixed some circular references
  [Security] fixed a leak in ExceptionListener
  [Security] fixed a leak in the ContextListener
  Ignore posix_istatty warnings
  removed unused variable
  [Form] fix iterator typehint
  typos
  Button missing getErrorsAsString() fixes #8084 Debug: Not calling undefined method anymore. If the form contained a submit button the call would fail and the debug of the form wasn't possible. Now it will work in all cases. This fixes #8084
  Use isset() instead of array_key_exists() in DIC
  Fixed annotation
  [BrowserKit] fixed method/files/content when redirecting a request
  [BrowserKit] removed some headers when redirecting a request
  [BrowserKit] fixed headers when redirecting if history is set to false (refs #8697)
  [HttpKernel] fixed route parameters storage in the Request data collector (closes #8867)
  [BrowserKit] Pass headers when `followRedirect()` is called
  Return BC compatibility for `@Route` parameters and default values

Conflicts:
	src/Symfony/Component/Security/Http/Firewall/ContextListener.php
2013-09-06 20:21:06 +02:00
Fabien Potencier
702e652002 Merge branch '2.2' into 2.3
* 2.2:
  Fixing singular form for kisses, accesses and addresses.
  fixed some circular references
  [Security] fixed a leak in ExceptionListener
  [Security] fixed a leak in the ContextListener
  Ignore posix_istatty warnings
  typos
  [HttpKernel] fixed route parameters storage in the Request data collector (closes #8867)
  Return BC compatibility for `@Route` parameters and default values

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Templating/Helper/FormHelper.php
	src/Symfony/Component/Console/Application.php
2013-09-06 20:20:34 +02:00
Tobias Schultze
b853438088 [Templating] deprecate DebuggerInterface
set logger in extension , so its only done in debug mode
add psr/log to suggest of templating
add test for setLogger and refactor tests to not depend that much an
deprecated functionality
2013-09-04 21:57:45 +02:00
Jáchym Toušek
4e363a145e typos 2013-09-03 19:10:25 +02:00
Fabien Potencier
a67f5d03d1 Merge branch '2.3'
* 2.3:
  [Process] Revert change
  [Process] Fix #8746 : slowness added in unit tests since #8741
  [Process] Fix #8742 : Signal-terminated processes are not successful
  corrected English grammar (s/does not exists/does not exist)
  [Process] Add more precision to Process::stop timeout
  [Process] Avoid zombie process in case of unit tests failure
  [Process] Fix #8739
  [Process] Add failing test for #8739
  [Process] Fix CS
  [TwigBridge] removed superflous ; when rendering form_enctype() (closes #8660)
  Fixed documentation grammar for AuthenticationManagerInterface::authenticate()
  [Validator] fixed the wrong isAbstract() check against the class (fixed #8589)
  [TwigBridge] Prevent code extension to display warning
  Fix internal sub-request creation
  [FrameworkBundle] made code more generic
  [Form] Moved auto_initialize option to the BaseType
  Use strstr instead of strpos
  Make sure ContextErrorException is loaded during compile time errors
  Fix empty process argument escaping on Windows
  Ignore null value in comparison validators

Conflicts:
	src/Symfony/Component/Debug/Tests/ErrorHandlerTest.php
	src/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php
	src/Symfony/Component/Process/Process.php
2013-08-14 15:08:25 +02:00
Fabien Potencier
11018011dd Merge branch '2.2' into 2.3
* 2.2:
  corrected English grammar (s/does not exists/does not exist)
  [Process] Add more precision to Process::stop timeout
  [Process] Avoid zombie process in case of unit tests failure
  [Process] Fix #8739
  [Process] Add failing test for #8739
  [Process] Fix CS
  Fixed documentation grammar for AuthenticationManagerInterface::authenticate()
  [Validator] fixed the wrong isAbstract() check against the class (fixed #8589)
  [TwigBridge] Prevent code extension to display warning
  Use strstr instead of strpos

Conflicts:
	src/Symfony/Component/Finder/Shell/Command.php
	src/Symfony/Component/Process/Process.php
2013-08-13 22:18:00 +02:00
Grégoire Pineau
e8e76ece5a [TwigBridge] Prevent code extension to display warning 2013-08-12 10:19:38 +02:00
Fabien Potencier
99f97e59f1 Merge branch '2.3'
* 2.3:
  Update JsonResponse.php
  [HttpKernel] fixed the inline renderer when passing objects as attributes (closes #7124)
  CookieJar remove unneeded var, Client remove unneeded else
  [DI] Fixed bug requesting non existing service from dumped frozen container
  Update validators.sk.xlf
  [WebProfiler] fix content-type parameter
  Replace romaji period characters with Japanese style zenkaku period characters
  fixed CS
  fixed CS
  [Console] Avoided an unnecessary check.
  Added missing French validator translations
  typo first->second
  Passed the config when building the Configuration in ConfigurableExtension
  removed unused code
  Fixed variable name used in translation cache

Conflicts:
	src/Symfony/Component/Console/Event/ConsoleCommandEvent.php
2013-07-08 15:37:01 +02:00
Fabien Potencier
4c0bfd3313 fixed CS 2013-07-01 14:24:43 +02:00
Jakub Zalas
a54cbfffc3 [FrameworkBundle] Made DelegatingEngine::getEngine() public. 2013-06-14 13:55:39 +01:00
Bernhard Schussek
f092c7f704 [FrameworkBundle] Improved TemplateNameParser performance 2013-04-23 14:20:34 +02:00
Bernhard Schussek
01b71a47ea [Form] Removed trigger_error() for deprecations as of 3.0 2013-04-18 11:02:51 +02:00
Bernhard Schussek
81f8c67566 [Form] Implemented form processors 2013-04-18 11:02:51 +02:00
Jakub Zalas
043a91514f [FrameworkBundle] Fixed Stopwatch namespace. 2013-04-17 22:32:53 +01:00
Fabien Potencier
57a0f1bb78 merged branch bgarret/timed-php-engine (PR #6836)
This PR was merged into the master branch.

Discussion
----------

[2.3] [FrameworkBundle] [Templating] added Stopwatch support to the PHP engine

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT

I did not include tests nor documentation because there weren't any for TimedTwigEngine (I took it as an example). If I'm mistaken and they are needed, I'll gladly write them.

Commits
-------

3c3d34d [FrameworkBundle] [Templating] added Stopwatch support to the PHP engine
2013-03-23 14:38:26 +01:00
Fabien Potencier
5ff6006fa6 removed deprecated stuff in the fragment sub-framework 2013-03-23 11:46:55 +01:00
Fabien Potencier
bb5c8f4777 [FrameworkBundle] fixed typo 2013-02-01 17:07:52 +01:00
Fabien Potencier
c72e471c65 renamed some classes and Twig functions to more descriptive names (refs #6871)
HttpContentRenderer has been renamed to FragmentHandler.
The RendererStrategy subnamespace has been renamed to Fragment.
The strategy classes now have Fragment in their names.
ProxyRouterListener has been renamed to FragmentListener
The router_proxy configuration entry has been renamed to fragments.
2013-02-01 15:17:20 +01:00
Benoit Garret
3c3d34d03c [FrameworkBundle] [Templating] added Stopwatch support to the PHP engine 2013-01-25 09:25:30 +01:00
Pascal Borreli
b1c68815f5 Fixed PHPDoc 2013-01-11 17:38:19 +00:00
Fabien Potencier
b58e8ce9aa merged branch fabpot/kernel-refactor (PR #6459)
This PR was merged into the master branch.

Commits
-------

76fefe3 updated CHANGELOG and UPGRADE files
f7da1f0 added some unit tests (and fixed some bugs)
f17f586 moved the container aware HTTP kernel to the HttpKernel component
2eea768 moved the deprecation logic calls outside the new HttpContentRenderer class
bd102c5 made the content renderer work even when ESI is disabled or when no templating engine is available (the latter being mostly useful when testing)
a8ea4e4 [FrameworkBundle] deprecated HttpKernel::forward() (it is only used once now and not part of any interface anyway)
1240690 [HttpKernel] made the strategy a regular parameter in HttpContentRenderer::render()
adc067e [FrameworkBundle] made some services private
1f1392d [HttpKernel] simplified and enhanced code managing the hinclude strategy
403bb06 [HttpKernel] added missing phpdoc and tweaked existing ones
892f00f [HttpKernel] added a URL signer mechanism for hincludes
a0c49c3 [TwigBridge] added a render_* function to ease usage of custom rendering strategies
9aaceb1 moved the logic from HttpKernel in FrameworkBundle to the HttpKernel component

Discussion
----------

[WIP] Kernel refactor

Currently, the handling of sub-requests (including ESI and hinclude) is mostly done in FrameworkBundle. It makes these important features harder to implement for people using only HttpKernel (like Drupal and Silex for instance).

This PR moves the code to HttpKernel instead. The code has also been refactored to allow easier integration of other rendering strategies (refs #6108).

The internal route has been re-introduced but it can only be used for trusted IPs (so for the internal rendering which is managed by Symfony itself, or by a trusted reverse proxy like Varnish for ESI handling). For the hinclude strategy, when using a controller, the URL is automatically signed (see #6463).

The usage of a listener instead of a controller to handle internal sub-requests speeds up things quite a lot as it saves one sub-request handling. In Symfony 2.0 and 2.1, the handling of a sub-request actually creates two sub-requests.

Rendering a sub-request from a controller can be done with the following code:

```jinja
{# default strategy #}
{{ render(path("partial")) }}
{{ render(controller("SomeBundle:Controller:partial")) }}

{# ESI strategy #}
{{ render(path("partial"), { strategy: 'esi' }) }}
{{ render(controller("SomeBundle:Controller:partial"), { strategy: 'esi' }) }}

{# hinclude strategy #}
{{ render(path("default1"), { strategy: 'hinclude' }) }}
```

The second commit allows to simplify the calls a little bit thanks to some nice syntactic sugar:

```jinja
{# default strategy #}
{{ render(path("partial")) }}
{{ render(controller("SomeBundle:Controller:partial")) }}

{# ESI strategy #}
{{ render_esi(path("partial")) }}
{{ render_esi(controller("SomeBundle:Controller:partial")) }}

{# hinclude strategy #}
{{ render_hinclude(path("default1")) }}
```

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

by fabpot at 2013-01-03T17:58:49Z

I've just pushed a new version of the code that actually works in my browser (but I've not yet written any unit tests). I've updated the PR description accordingly.

All comments welcome!

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

by Koc at 2013-01-03T20:11:43Z

what about `render(controller="SomeBundle:Controller:partial", strategy="esi")`?

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

by stof at 2013-01-04T09:01:01Z

shouldn't we have interfaces for the UriSigner and the HttpContentRenderer ?

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

by lsmith77 at 2013-01-04T19:28:09Z

btw .. as mentioned in #6213 i think it would make sense to refactor the HttpCache to use a cache layer to allow more flexibility in where to cache the data (including clustering) and better invalidation. as such if you are refactoring HttpKernel .. it might also make sense to explore splitting off HttpCache.

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

by fabpot at 2013-01-04T19:30:07Z

@lsmith77 This is a totally different topic. This PR is just about moving things from FrameworkBundle to HttpKernel to make them more reusable outside of the full-stack framework.

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

by fabpot at 2013-01-05T09:39:52Z

I think this PR is almost ready now. I still need to update the docs and add some unit tests. Any other comments on the whole approach? The class names? The `controller` function thingy? The URI signer mechanism? The proxy protection for the internal controller? The proxy to handle internal routes?

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

by sstok at 2013-01-05T10:08:25Z

Looks good to me 👍

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

by sdboyer at 2013-01-07T18:17:08Z

@Crell asked me to weigh in, since i'm one of the Drupal folks who's likely to work most with this.

i think i've grokked about 60% of the big picture here, and i'm generally happy with what i see. the assumption that the HInclude strategy makes about working with templates probably isn't one that we'll be able to use (and so, would need to write our own), but that's not a big deal since the whole goal here is to make strategies pluggable.

so, yeah. +1.

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

by winzou at 2013-01-09T20:21:44Z

Just for my information: will this PR be merged for 2.2 version? Thanks.

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

by stof at 2013-01-09T20:41:04Z

@winzou according to the blog post announcing the beta 1 release, yes. It is explicitly listed as being one of the reason to make it a beta instead of the first RC.

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

by winzou at 2013-01-09T20:49:36Z

OK thanks, I've totally skipped this blog post.

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

by fabpot at 2013-01-10T15:26:15Z

I've just added a bunch of unit tests and fix some bugs I found while writing the tests.
2013-01-11 08:24:18 +01:00
Fabien Potencier
f0a66db79a merged branch Seldaek/psr3 (PR #6628)
This PR was merged into the master branch.

Commits
-------

67d7423 Remove use of deprecated HttpKernel LoggerInterface
dca4528 [HttpKernel] Extend psr/log's NullLogger class
1e5a890 [Monolog] Mark old non-PSR3 methods as deprecated
91a86f8 [HttpKernel][Monolog] Add PSR-3 support to the LoggerInterface

Discussion
----------

[HttpKernel][MonologBridge] PSR-3 support

This enables PSR-3 support and monolog 1.3+. The first commit is the main part. The rest deals with deprecation of short-hand methods (warn/err/crit/emerg) that are fully expanded in PSR-3 (warning/error/critical/emergency).

The downside of deprecating them is that for bundles it's a bit harder to support older and newer versions. If that is too much of a hassle you can drop that for now and cherry pick the first commit.

The upside is that it forces people to move towards PSR-3 compatible stuff, which means eventually we could completely drop the LoggerInterface from the framework. In any case I think the documentation should only mention the `Psr\Log\LoggerInterface` and people should start hinting against that. The change should be done in core as well I suppose.

Anyway I wanted to throw this out there as it is to get feedback.

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

by stof at 2013-01-09T09:15:15Z

@Seldaek I also think you should change the typehint to use the PSR LoggerInterface in all classes using the logger

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

by Seldaek at 2013-01-09T09:54:55Z

OK updated according to all the feedback. I tested it in an app and it still seems to work so there shouldn't be any major issues.

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

by Seldaek at 2013-01-09T09:59:55Z

@fabpot if you merge please merge also the bundle PR, otherwise it won't be possible to update without conflict.

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

by frosas at 2013-01-10T14:59:20Z

I'm trying to understand why a `composer update` of a Symfony 2.1.* resulted in a fatal error. Shouldn't a stable version don't break like this?

As @olaurendeau points, why Symfony depends 1.* instead of 1.2.*? Or why Monolog 1.3 breaks its public interface (EDIT: I'm not sure about it)? Or why isn't this PR being merged (into branch 2.1) at the same time Monolog 1.3 is released?

Please, understand I'm not looking for who to blame, it's just I want to know if this situation is unexpected or if otherwise a `composer update` on a stable branch is not as innocent as it seems.

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

by stof at 2013-01-10T15:06:51Z

@frosas it cannot be merged into 2.1 as it is a BC break. The 2.1 branch has been updated to forbid Monolog 1.3 already

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

by Seldaek at 2013-01-10T15:11:58Z

@frosas you can blame me for releasing as 1.3.0 and not 2.0, but technically for monolog this isn't really a BC break, I just added an interface. The problem is due to the way it's used in symfony, it ended up as a fatal error. In any case the situation is now sorted out I think.

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

by frosas at 2013-01-10T15:26:43Z

@stof now I see this `>=1.0,<1.3-dev` change in the 2.1 branch. Now, shouldn't a new (2.1.7) version be released for all of us not in the dev minimum-stability?

@Seldaek then do you see feasible to rely only in X.Y.* versions to avoid this kind of errors?

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

by Seldaek at 2013-01-10T15:45:22Z

@frosas relying on X.Y.* is painful because you always need to wait until someone updates the constraint to get the new version. Of course using ~1.3 like in this PR means if I fuck up and break BC people will update to it, but that's a less likely occurrence than the alternative I think, so I would rather not use X.Y.*

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

by frosas at 2013-01-10T15:50:50Z

@Seldaek you are right about this, but I was thinking more in changing it only for the stable versions. EDIT: I mean, how often do you need a new feature in a branch you only apply fixes to?

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

by stof at 2013-01-10T15:57:32Z

@frosas Monolog and Symfony have separate release cycles. Foorcing Symfony users to use an old version of Monolog until they update to a new version of Symfony whereas the newer Monolog is compatible is a bad idea. Thus, as Monolog keeps BC, it does not maintain bugfix releases for all older versions (just like Twig does too). So it would also forbid you to get the fixes done in newer Monolog versions.

The incompatibility between Symfony 2.1 LoggerInterface and PSR-3 (whereas they expect exactly the same behavior and signature for methods with the same name) is unfortunate and is the reason why we get some issues here.

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

by frosas at 2013-01-10T16:21:06Z

@stof I appreciate you prefer to allow newer versions at the price of having to be constantly monitoring its changes to avoid breaks.

Another similar but safer strategy would be to stick to X.Y.* versions and upgrade to X.Y+1.* once the new version integration is tested, but I understand this is discutible in projects as close to Symfony as Monolog.

Returning to the issue, what do you say to release this 2.1.7 version? Or is it only me who is having issues here?

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

by stof at 2013-01-10T16:26:20Z

@frosas a minor release should not break BC when following smeantic versionning (Symfony warned about the fact it is not strictly followed for the first releases of 2.x). But as far as monolog is concerned, 1.3 is BC with 1.2.

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

by Seldaek at 2013-01-10T16:49:55Z

@frosas sorry I didn't get you still had the problem. I tagged a 2.1.7 of monologbundle which hopefully fixes your issue.
2013-01-10 17:57:14 +01:00
Fabien Potencier
2eea7682e7 moved the deprecation logic calls outside the new HttpContentRenderer class 2013-01-10 09:21:32 +01:00
Fabien Potencier
1240690cac [HttpKernel] made the strategy a regular parameter in HttpContentRenderer::render() 2013-01-10 09:21:31 +01:00
Fabien Potencier
9aaceb19ee moved the logic from HttpKernel in FrameworkBundle to the HttpKernel component 2013-01-10 09:21:30 +01:00
Jordi Boggiano
67d7423456 Remove use of deprecated HttpKernel LoggerInterface 2013-01-09 10:52:29 +01:00
Fabien Potencier
3a4869dd14 merged branch Tobion/relative-path (PR #3958)
This PR was merged into the master branch.

Commits
-------

6703fb5 added changelog entries
1997e2e fix phpdoc of UrlGeneratorInterface that missed some exceptions and improve language of exception message
f0415ed [Routing] made reference type fully BC and improved phpdoc considerably
7db07d9 [Routing] added tests for generating relative paths and network paths
75f59eb [Routing] add support for path-relative and scheme-relative URL generation

Discussion
----------

[2.2] [Routing] add support for path-relative URL generation

Tests pass: yes
Feature addition: yes
BC break: <del>tiny (see below)</del> NO
deprecations: NO

At the moment the Routing component only supports absolute and domain-relative URLs, e.g.
`http://example.org/user-slug/article-slug/comments` and
`/user-slug/article-slug/comments`.

But there are two link types missing: schema-relative URLs and path-relative URLs.
schema-relative: e.g. `//example.org/user-slug/article-slug/comments`
path-relative: e.g. `comments`.

Both of them would now be possible with this PR. I think it closes a huge gap in the Routing component.
Use cases are pretty common. Schema-relative URLs are for example used when you want to include assets (scripts, images etc) in a secured website with HTTPS. Path-relative URLs are the only option when you want to generate static files (e.g. documentation) that can be downloaded as an HTML archive. Such use-cases are currently not possible with symfony.

The calculation of the relative path based on the request path and target path is hightly unit tested. So it is really equivalent. I found several implemenations on the internet but none of them worked in all cases. Mine is pretty short and works.

I also added an optional parameter to the twig `path` function, so this feature can also be used in twig templates.

Ref: This implements path-relative URLs as suggested in #3908.

<del>[BC BREAK] The signature of UrlGeneratorInterface::generate changed to support scheme-relative and path-relative URLs. The core UrlGenerator is BC and does not break anything, but users who implemented their own UrlGenerator need to be aware of this change. See UrlGenerator::convertReferenceType.</del>

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

by jalliot at 2012-04-16T09:56:56Z

@Tobion For completeness, you should add the option to the `url` and `asset` twig functions/template helpers.

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

by stof at 2012-04-16T10:46:06Z

@jalliot adding the option to ``url`` does not make any sense. The difference between ``path`` and ``url`` is that ``path`` generates a path and ``url`` generates an absolute url (thus including the scheme and the hostname)

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

by Tobion at 2012-04-16T12:27:49Z

@stof I guess jalliot meant we could then generate scheme-relative URLs with `url`. Otherwise this would have no equivalent in twig.

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

by jalliot at 2012-04-16T12:34:08Z

@stof Yep I meant what @Tobion said :)

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

by Tobion at 2012-04-18T11:57:04Z

The $relative parameter I added besides the existing $absolute parameter of the `->generate` method was not clear enough. So I merged those into a different parameter `referenceType`. I adjusted all parts of symfony to use the new signature. And also made the default `UrlGenerator` implementation BC with the old style. So almost nobody will recognize a change. The only BC break would be for somebody who implemented his own `UrlGenerator` and did not call the parent default generator.
Using `referenceType` instead of a simple Boolean is much more flexible. It will for example allow a custom generator to support a new reference type like http://en.wikipedia.org/wiki/CURIE

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

by Tobion at 2012-04-18T13:34:58Z

ping @schmittjoh considering your https://github.com/schmittjoh/JMSI18nRoutingBundle/blob/master/Router/I18nRouter.php would need a tiny change

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

by schmittjoh at 2012-04-18T13:37:39Z

Can you elaborate the necessary change?

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

by Tobion at 2012-04-18T13:51:10Z

This PR changes the signature of `generate` to be able to generate path-relative and scheme-relative URLs. So it needs to be
`public function generate($name, $parameters = array(), $referenceType = self::ABSOLUTE_PATH)` and your implementation would need to change `if ($absolute && $this->hostMap) {` to `if (self::ABSOLUTE_URL === $referenceType && $this->hostMap) {`
I can do a PR if this gets merged.

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

by schmittjoh at 2012-04-18T13:52:14Z

If I understand correctly, the old parameter still works, no?

edit: Ah, ok I see what you mean now.

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

by Tobion at 2012-04-18T13:56:33Z

Yeah the old parameter still works but $absolute would also evaluate to true (a string) in your case for non-absolute URLs, i.e. paths.

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

by Tobion at 2012-04-19T21:09:46Z

ping @fabpot

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

by fabpot at 2012-04-20T04:30:18Z

Let's discuss that feature for 2.2.

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

by Tobion at 2012-04-20T10:40:59Z

What are your objections against it? It's already implemented, it works and it adds support for things that are part of a web standard. The BC break is tiny at the moment (almost nobody is affected) because the core UrlGenerator works as before. But if we waited for 2.2 it will be much harder to make the transition because 2.1 is LTS. So I think is makes sense to add it now. Furthermore it makes it much more future-proof as custom generators can more easiliy add support for other link types like CURIE. At the moment a Boolean for absolute URLs is simply too limited and also somehow inconsistent because $absolute = false stands for an absolute path. You see the awkwardness in this naming.

Btw, I added a note in the changelog. And I will add documentation of this feature in symfony-docs once this is merged.

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

by fabpot at 2012-04-20T12:14:32Z

nobody has ever said that 2.1 would be LTS. Actually, I think we are going to wait for 2.3 for LTS.

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

by Tobion at 2012-04-20T12:27:18Z

Well what I meant is, the longer we wait with this, the harder to apply it.
In 04ac1fdba2 you modified `generate` signature for better extensibility that is not even made use of. I think changing `$abolute` param goes in the same direction and has direct use.

I'd like to know your reason to wait for 2.2. Not enough time to review it, or afraid of breaking something, or marketing for 2.2?

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

by stof at 2012-04-20T16:28:27Z

@Tobion the issue is that merging new features forces to postpone the release so that it is tested by enough devs first to be sure there is no blocking bug in it. Big changes cannot be merged when we are hunting the remaining bugs to be able to release.

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

by schmittjoh at 2012-04-20T16:42:11Z

Considering the changes that have been made to the Form component, and are still being made, I think this is in comparison to that a fairly minor change.

Maybe a clearer guideline on the release process, or the direction would help, and avoid confusion, or wrong expectations on contributors' part.

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

by Tobion at 2012-10-05T13:52:11Z

@fabpot this is ready. So if you agree with it, I would create a documentation PR.

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

by stof at 2012-10-13T16:09:47Z

@fabpot what do you think about this PR ?

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

by Crell at 2012-11-01T16:05:01Z

This feels like it's overloading the generate() method to do double duty: One, make a URl based on a route.  Two, make a  URI based on a URI snippet.  Those are two separate operations.  Why not just add a second method that does the second operation and avoid the conditionals?  (We're likely to do that in Drupal for our own generator as well.)

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

by Tobion at 2012-11-01T16:38:39Z

@crell: No, you must have misunderstood something. The generate method still only generates a URI based on a route. The returned URI reference can now also be a relative path and a network path. Thats all.

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

by Tobion at 2012-12-13T18:30:28Z

@fabpot this is ready. It is fully BC! I also improved phpdoc considerably.

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

by Tobion at 2012-12-14T20:51:38Z

@fabpot Do you want me to write documentation for it? I would also be interested to write about the new features of the routing component in general. I wanted to do that anyway and it would probably be a good fit for your "new in symfony" articles.

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

by fabpot at 2012-12-14T20:58:16Z

Im' going to review this PR in the next coming days. And to answer your second question, more documentation or better documentation is always a good thing, so go for it.

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

by Tobion at 2013-01-02T21:50:20Z

@fabpot ping. I added changelog entries.
2013-01-09 10:27:51 +01:00
Fabien Potencier
3341c8ec43 [FrameworkBundle] restricted to only URIs the first argument of the actions helper 2012-12-20 22:49:33 +01:00
Sema
8654cd80fd Fixed missing quote in FormHelper->widget() PHPDoc 2012-12-19 15:09:11 +04:00
Florin Patan
c2acc6c2cb Fixed most of the docblocks/unused namespaces 2012-12-19 08:09:49 +01:00
Fabien Potencier
aca311e077 Merge branch '2.0' into 2.1
* 2.0:
  Added comment
  [FrameworkBundle] Added tests for trusted_proxies configuration.
  [FrameworkBundle] Added a check on file mime type for CodeHelper::fileExcerpt()
  checked for a potentially missing key
  [FrameworkBundle] used the new method for trusted proxies
  remove realpath call

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php
2012-12-15 17:44:57 +01:00
Francis Besset
d3f5f3a44f Added comment 2012-12-14 12:28:48 +01:00
Francis Besset
773d818d6b [FrameworkBundle] Added a check on file mime type for CodeHelper::fileExcerpt() 2012-12-14 11:53:52 +01:00
Tobias Schultze
f0415ed3d1 [Routing] made reference type fully BC and improved phpdoc considerably 2012-12-13 20:13:11 +01:00
Tobias Schultze
75f59ebe01 [Routing] add support for path-relative and scheme-relative URL generation 2012-12-13 20:13:09 +01:00
Fabien Potencier
a7cd5f54ef fixed CS 2012-12-11 11:27:06 +01:00
Fabien Potencier
3d99374014 removed unused use statements 2012-11-04 09:29:19 +01:00
Bernhard Schussek
fb002d89ea [Form] Fixed variable passing from outer to inner blocks of the same FormView instance 2012-07-25 13:20:23 +02:00
Bernhard Schussek
dc3a680cd3 [Form] Improved FormRenderer API to reduce the size of the function call stack during rendering 2012-07-22 09:29:35 +02:00
Bernhard Schussek
921681658c [Form] Turned Twig filters into tests 2012-07-21 17:26:50 +02:00
Bernhard Schussek
8b72766473 [Form] Tweaked the generation of option tags for performance (PHP +200ms, Twig +50ms) 2012-07-21 12:56:50 +02:00
Bernhard Schussek
d072f35ea0 [Form] The properties of FormView are now accessed directly in order to increase performance (PHP +200ms, Twig +150ms) 2012-07-21 12:56:11 +02:00
Bernhard Schussek
629093ed25 [Form] Extracted common parts of FormHelper and FormExtension into separate classes 2012-07-16 21:39:27 +02:00
Bernhard Schussek
216c539e41 [Form] Implemented a more intelligent caching strategy in FormHelper (PHP +100ms, Twig +100ms) 2012-07-16 18:04:36 +02:00
Bernhard Schussek
69e5e58629 [Form] Individual rows of CollectionType cannot be styled anymore for performance reasons 2012-07-14 12:10:29 +02:00
Zach Badgett
2fa98e8a23 [FrameworkBundle] Changed DelegatingEngine::renderResponse to use specified engine's renderResponse 2012-07-09 22:41:10 -06: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
Victor Berchet
aef7663676 [FrameworkBundle] Create a dedicated template filename parser 2012-07-03 14:58:30 +02:00
Kris Wallsmith
c1e4166ead moved create of default form label to view layer 2012-06-24 07:57:42 -07:00
Bernhard Schussek
90516223ab Fixing email 2012-05-26 09:48:33 +02:00
Bernhard Schussek
98a7c0cf5f [Form] Consolidated FormInterface, FormBuilderInterface and FormViewInterface 2012-05-25 12:34:16 +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
3bdf52a16a fixed CS 2012-05-18 19:42:42 +02:00
Fabien Potencier
e173d79e34 fixed CS 2012-05-18 19:37:58 +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
Bernhard Schussek
fcb2227ac9 [Form] Deprecated FieldType, which has been merged into FormType 2012-04-17 16:44:39 +02:00
Drak
910b5c7f83 [HttpFoudation] CS, more tests and some optimization. 2012-03-15 12:15:54 +05:45
Fabien Potencier
8a01dd5cff renamed getFlashes() to getFlashBag() to avoid clashes 2012-02-11 13:18:56 +01:00
Fabien Potencier
146a502a0e [FrameworkBundle] added some service aliases to avoid some BC breaks 2012-02-11 12:36:09 +01:00
Fabien Potencier
04942502a5 removed unused use statements 2012-02-11 11:53:03 +01:00
Fabien Potencier
7878a0a11a [HttpFoundation] renamed pop() to all() and getAll() to all() 2012-02-11 11:53:00 +01:00
Drak
dad60efccc [HttpFoundation] Add back get defaults and small clean-up.
Changed read-only method names from get*() to peek*()

Typo
2012-02-11 11:24:39 +05:45
Drak
27530cbb1e [HttpFoundation] Moved session related classes to own sub-namespace. 2012-02-11 11:24:31 +05:45
Drak
468391525a [HttpFoundation] Free bags from session storage and move classes to their own namespaces. 2012-02-11 11:24:26 +05:45
Drak
398acc9e9f [HttpFoundation] Reworked flashes to maintain same behaviour as in Symfony 2.0 2012-02-11 11:24:15 +05:45
Drak
7aaf024b2a [FrameworkBundle] Refactored code for changes to HttpFoundation component.
Native PHP sessions stored to file are done with session.storage.native_file
Functional testing is done with session.storage.mock_file

Default flash message implementation done with FlashBag (session.flash_bag)
Default attribute storage implementation with AttributeBag (session.attribute_bag)

Services added: session.storage.native_file, session.storage.native_memcache, session.storage.native_memcache,
session.storage.native_sqlite, session.storage.memcache, session.storage.memcached, session.storage.null,
session.storage.mock_file, session.flash_bag, session.attribute_bag

Services removed: session.storage.native, session.storage.filesystem
2012-02-11 11:21:26 +05:45
Fabien Potencier
5e0823c99c merged branch bschussek/issue1919 (PR #3156)
Commits
-------

8dc78bd [Form] Fixed YODA issues
600cec7 [Form] Added missing entries to CHANGELOG and UPGRADE
b154f7c [Form] Fixed docblock and unneeded use statement
399af27 [Form] Implemented checks to assert that values and indices generated in choice lists match their requirements
5f6f75c [Form] Fixed outstanding issues mentioned in the PR
7c70976 [Form] Fixed text in UPGRADE file
c26b47a [Form] Made query parameter name generated by ORMQueryBuilderLoader unique
18f92cd [Form] Fixed double choice fixing
f533ef0 [Form] Added ChoiceView class for passing choice-related data to the view
d72900e [Form] Incorporated changes suggested in PR comments
28d2f6d Removed duplicated lines from UPGRADE file
e1fc5a5 [Form] Restricted form names to specific characters to (1) fix generation of HTML IDs and to (2) avoid problems with property paths.
87b16e7 [Form] Greatly improved ChoiceListInterface and all of its implementations

Discussion
----------

[Form] Improved ChoiceList implementation and made form naming more restrictive

Bug fix: yes
Feature addition: yes
Backwards compatibility break: **yes**
Symfony2 tests pass: yes
Fixes the following tickets: #2869, #3021, #1919, #3153
Todo: adapt documentation

![Travis Build Status](https://secure.travis-ci.org/bschussek/symfony.png?branch=issue1919)

The changes in this PR are primarily motivated by the fact that invalid form/field names lead to various problems.

1. When a name contains any characters that are not permitted in HTML "id" attributes, these are invalid
2. When a name contains periods ("."), form validation is broken, because they confuse the property path resolution
3. Since choices in expanded choice fields are directly translated to field names, choices applying to either 1. or 2. lead to problems. But choices should be unrestricted.
4. Unless a choice field is not expanded and does not allow multiple selection, it is not possible to use empty strings as choices, which might be desirable in some occasions.

The solution to these problems is to

* Restrict form names to disallow unpermitted characters (solves 1. and 2.)
* Generate integer indices to be stored in the HTML "id" and "name" attributes and map them to the choices (solves 3.). Can be reverted to the old behaviour by setting the option "index_generation" to ChoiceList::COPY_CHOICE
* Generate integer values to be stored in the HTML "value" attribute and map them to the choices (solves 4.). Can be reverted to the old behaviour by setting the option "value_generation" to ChoiceList::COPY_CHOICE

Apart from these fixes, it is now possible to write more flexible choice lists. One of these is `ObjectChoiceList`, which allows to use objects as choices and is bundled in the core. `EntityChoiceList` has been made an extension of this class.

    $form = $this->createFormBuilder()
        ->add('object', 'choice', array(
            'choice_list' => new ObjectChoiceList(
                array($obj1, $obj2, $obj3, $obj4),
                // property path determining the choice label (optional)
                'name',
                // preferred choices (optional)
                array($obj2, $obj3),
                // property path for object grouping (optional)
                'category',
                // property path for value generation (optional)
                'id',
                // property path for index generation (optional)
                'id'
            )
        ))
        ->getForm()
    ;

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

by kriswallsmith at 2012-01-19T18:09:09Z

Rather than passing `choices` and a `choice_labels` arrays to the view would it make sense to introduce a `ChoiceView` class and pass one array of objects?

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

by stof at 2012-01-22T15:32:36Z

@bschussek can you update your PR according to the feedback (and rebase it as it conflicts according to github) ?

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

by bschussek at 2012-01-24T00:15:42Z

@kriswallsmith fixed

Fixed all outstanding issues. Would be glad if someone could review again, otherwise this PR is ready to merge.

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

by fabpot at 2012-01-25T15:17:59Z

Is it ready to be merged?

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

by Tobion at 2012-01-25T15:35:50Z

Yes I think so. He said it's ready to be merged when reviewed.

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

by bschussek at 2012-01-26T02:30:36Z

Yes.

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

by bschussek at 2012-01-28T12:39:00Z

Fixed outstanding issues. Ready for merge.
2012-01-28 15:19:10 +01:00
Bernhard Schussek
f533ef0e1b [Form] Added ChoiceView class for passing choice-related data to the view 2012-01-24 01:07:33 +01:00
lsmith77
cc31a157d3 tweaked the exception message 2012-01-23 22:02:19 +01:00
lsmith77
3a1699a420 handle disaled csrf protection in the Twig FormExtension 2012-01-23 18:05:48 +01:00
lsmith77
2a998e01b9 handle disabled csrf protection in the PHP templating form helper 2012-01-23 17:49:28 +01:00
Fabien Potencier
35a61b3a52 [HttpKernel] added arguments to ExceptionHandler (closes #2739) 2012-01-22 16:53:27 +01:00
Kris Wallsmith
753c06761a [FrameworkBundle] added $view['form']->csrfToken() helper 2012-01-10 05:18:23 -08: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
a6cdddd716 merged 2.0 2011-12-14 19:13:35 +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
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
Victor Berchet
db2d773d93 [FrameworkBundle] Improve the TemplateLocator exception message 2011-12-09 10:35:15 +01:00
Fabien Potencier
4730f4303b merged 2.0 2011-12-08 15:36:57 +01:00
Alexander
6c69592ab2 [FrameworkBundle] Remove unused variable in TemplateLocator 2011-12-08 09:01:07 +01:00
Fabien Potencier
8a4f9ea512 merged 2.0 2011-12-01 15:45:30 +01:00
Hugo Hamon
5e5050db53 [FrameworkBundle] fixed unescaped file_link_format parameter in CodeHelper that made the functional tests fail when checking a 4xx page. The generated file link format used in an HTML stack trace didn't contain an escaped ampersand (&) character. The resulting HTML code was not validable against its DTD and so the Crawler made the tests fail when checking a 4xx page. 2011-12-01 10:53:50 +01:00
Francis Besset
17dc605ca0 [FrameworkBundle] Checks that the template is readable before checking its modification time 2011-11-26 13:28:35 +01:00
Fabien Potencier
5d91849999 merged 2.0 2011-11-07 20:53:25 +01:00
Fabien Potencier
b33198f842 fixed CodeHelper::formatFileFromText() method to allow &quot; as a file wrapper (it occurs for the main exception message) 2011-11-07 20:49:42 +01:00
Fabien Potencier
74bc699b27 moved management of the locale from the Session class to the Request class
The locale management does not require sessions anymore.

In the Symfony2 spirit, the locale should be part of your URLs. If this is the case
(via the special _locale request attribute), Symfony will store it in the request
(getLocale()).

This feature is now also configurable/replaceable at will as everything is now managed
by the new LocaleListener event listener.

How to upgrade:

The default locale configuration has been moved from session to the main configuration:

Before:

framework:
    session:
        default_locale: en

After:

framework:
    default_locale: en

Whenever you want to get the current locale, call getLocale() on the request (was on the
session before).
2011-10-08 18:34:49 +02:00
Fabien Potencier
902bbf2ba0 merged branch lsmith77/template_locator (PR #2128)
Commits
-------

afc0971 make it easier to customize the cache lookup in the TemplateLocator

Discussion
----------

make it easier to customize the cache lookup in the TemplateLocator

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

by fabpot at 2011/09/22 01:21:56 -0700

Do you any use case for that?

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

by lsmith77 at 2011/09/22 01:27:06 -0700

Yes in the ThemeBundle we override the default cache to include the key + theme:
https://github.com/liip/liipthemebundle/pull/9/files#L7R53

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

by lsmith77 at 2011/09/22 01:29:18 -0700

though i just thought about it .. if we do not put this into 2.0, it might not be worth the trouble.

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

by pjedrzejewski at 2011/09/22 02:19:42 -0700

+1 for this.
2011-09-23 21:00:46 +02:00
H. Westphal
3e2f1a4b13 Removed executable bits from all php files 2011-09-09 15:16:17 +02:00
H. Westphal
a0a97c6a22 Removed executable bits from all php files 2011-09-07 22:51:20 +02:00
Lukas Kahwe Smith
afc097118f make it easier to customize the cache lookup in the TemplateLocator 2011-09-07 20:02:35 +02:00
Fabien Potencier
0eae562cb2 converted file_exists calls to either is_file or is_dir where it makes sense 2011-08-29 15:28:26 +02:00
realmfoo
4f9d229e78 The trace argument value could be string ("*DEEP NESTED ARRAY*") 2011-08-10 12:08:47 +04:00
Fabien Potencier
04ac1fdba2 [Routing] changed UrlGeneratorInterface::generate() signature to allow passing objects instead of arrays 2011-07-26 08:00:41 +02:00
marc.weistroff
2b4cc9bd06 [Form] Changed collection prototype rendering.
Based on PR 1500. It is now rendered inside an attribute of collection
tag.
2011-07-22 11:01:55 +02:00
Geoffrey Tran
8e169e4457 Improved performance when assetic's use_controller is enabled
When assetic's use_controller is enabled, assetic has to loop through all the templates and create TemplateReferences through the assetic FileResource. This in turn causes a lot of calls to getLogicalName() leading to 5x the calls to the TemplateReference's get() (16k in my case). By accessing the protected field directly compared to using get() we achieve better performance during development (33% in my case).
2011-07-15 20:52:23 -05:00
Fabien Potencier
bd89cc7b37 [FrameworkBundle] fixed Template parser to accept template with dots 2011-07-04 22:38:34 +02:00
Victor Berchet
5d46e63089 [Form] Add the FormHelper configuration 2011-06-22 10:27:21 +02:00
Victor Berchet
1cb2129772 [FrameworkBundle][Form] Adding a cache to FormHelper::lookupTemplate() 2011-06-22 10:27:20 +02:00
Victor Berchet
f39ce6709d [Form][FrameworkBundle] PHP theming 2011-06-22 09:23:22 +02:00
Victor Berchet
2c1108ce6b [Form] Revert the ability to override anything else than the text of the label while rendering a row 2011-06-22 08:36:45 +02:00
Victor Berchet
da467a6b11 [Form] Fix the exception message when no block is found while rendering 2011-06-20 12:29:05 +02:00
Victor Berchet
41e07c96e3 [Form] Optimize rendering 2011-06-20 12:29:04 +02:00
Victor Berchet
f729c6ba93 [Form] Add the ability to override label & widget options when rendering a row 2011-06-20 12:29:04 +02:00
Victor Berchet
e09ae3f6a2 [Form][FrameworkBundle] Make FormHelper::renderSection() recursively callable, introduce FormHelper::renderBlock() 2011-06-20 12:29:04 +02:00
Hugo Hamon
7d09695903 [FrameworkBundle] Simplified TemplateReference::getPath() method and added a unit test. 2011-06-15 18:56:20 +02:00
Hugo Hamon
2616efb03f [FrameworkBundle] fixed TemplateRefence::getPath() when using namespaced controllers (i.e: AcmeBlogBundle\\Controller\\Admin\\PostController) 2011-06-15 18:27:34 +02:00
Fabien Potencier
01fcd7bdfd merged branch kaiwa/loglevel (PR #1073)
Commits
-------

cdf4b6a Checked log levels
a45d3ee Reverted last commit
529381b ControllerNotFound: Changed log level from info to error. Also moved throw exception code block up, to prevent the message from beeing logged multiple times.
7c29e88 Changed log level of "Matched route ..." message from info to debug
dca09fd Changed log level of "Using Controller ..." message from info to debug

Discussion
----------

Log levels

Just wanted to ask if the log level INFO is still correct for these messages?

As there are only four log levels left (DEBUG, INFO, WARNING, ERROR), DEBUG might be the more appropriate level for these messages now.

Let me give an example: An application is logging user actions (maybe to database) in order to assure comprehensibility, e. g. "User %s deleted post %d", "User %s written a message to user %s". These are not warnings of course, so the only suitable log level is INFO.
But they will be thrown together with these very common (at least two per request?) "Using controller..." and "Matched route..." messages when choosing INFO as log level.

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

by Seldaek at 2011/05/24 07:13:18 -0700

Agreed, this stuff is framework debug information.

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

by fabpot at 2011/05/24 08:53:24 -0700

Why do you want to change these two specific ones? The framework uses the INFO level at other places too. Is it a good idea to say that the framework only logs with DEBUG?

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

by stof at 2011/05/24 09:12:53 -0700

Doctrine logs at the INFO level too and I think it is useful to keep it as INFO. Being able to see the queries without having all DEBUG messages of the event dispatcher and security components is useful IMO.

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

by Seldaek at 2011/05/25 02:30:24 -0700

Yeah, that's true, maybe we just need to reintroduce (again, meh:) NOTICE between INFO and WARNING.

@kaiwa Of course the other way could be that you just add your DB handler to the app logger stack. That could be done in a onCoreRequest listener or such, basically you'd have to call `->pushHandler($yourDBHandler)` on the `monolog.logger.app` service. That way your messages will flow to it, but it won't receive noise from the framework stuff since those log on monolog.logger.request and other log channels.

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

by fabpot at 2011/05/25 02:48:26 -0700

@Seldaek: I don't think we need another level. We just need to come up with a standard rules about the usage of each level. Adapted from log4j:

* ERROR: Other runtime errors or unexpected conditions.
* WARN: Use of deprecated APIs, poor use of API, 'almost' errors, other runtime that are undesirable or unexpected, but not necessarily "wrong" (unable to write to the profiler DB, ).
* INFO: Interesting runtime events (security infos like the fact the user is logged-in or not, SQL logs, ...).
* DEBUG: Detailed information on the flow through the system (route match, security flow infos like the fact that a token was found or that remember-me cookie is found, ...).

What do you think?

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

by stloyd at 2011/05/25 02:53:38 -0700

+1 for this standard (also this PR can be merged then), but we should review code for other "wrong" log levels usage (if everyone accept this standard)

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

by fabpot at 2011/05/25 02:55:07 -0700

I won't merge this PR before all occurrences of the logger calls have been reviewed carefully and changed to the right level.

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

by kaiwa at 2011/05/25 02:58:44 -0700

@fabpot: Just noticed these two occurring for every request in my log file. You are right, there are other places where this changes must be applied if we will change the log level.

@stof: Hmm, i see. It is not possible to set the logger separately for each bundle, is it? That maybe would solve the problem. If somebody is interested in seeing the queries, he could set the log handler level to DEBUG for doctrine bundle, but still use INFO for the framwork itself. Plus he could even define a different output file or a completely different handler.

I'm not sure if something like that is possible already (?) or realizable at all... just came into my mind.

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

by Seldaek at 2011/05/25 03:01:07 -0700

Just FYI, from Monolog\Logger (which has CRITICAL and ALERT):

     * Debug messages
    const DEBUG = 100;

     * Messages you usually don't want to see
    const INFO = 200;

     * Exceptional occurences that are not errors
     * This is typically the logging level you want to use
    const WARNING = 300;

     * Errors
    const ERROR = 400;

     * Critical conditions (component unavailable, etc.)
    const CRITICAL = 500;

     * Action must be taken immediately (entire service down)
     * Should trigger alert by sms, email, etc.
    const ALERT = 550;

The values kind of match http error codes too, 4xx are expected errors that are not really important (404s etc) and 5xx are server errors that you'd better fix ASAP. I'm ok with the descriptions, but I think alert and critical should be included too. I'll probably update Monolog docblocks to match whatever ends up in the docs.

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

by Seldaek at 2011/05/25 03:03:21 -0700

@kaiwa you can do a lot, but not from the default monolog configuration entry, I'm not sure if we can really make that fully configurable without having a giant config mess. Please refer to my [comment above](https://github.com/symfony/symfony/pull/1073#issuecomment-1234316) to see how you could solve it. Maybe @fabpot has an idea how to make this more usable though.

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

by stof at 2011/05/25 03:19:43 -0700

@Seldaek the issue is that the different logging channels are only know in the compiler pass, not in the DI extension. So changing the level in the extension is really hard IMO.
Thus, the handlers are shared between the different logging channels (needed to open the log file only once for instance, or to send a single mail instead of one per channel) and the level is handled in the handlers, not the logger.

I'm +1 for the standard, by adding the distinction between 400 and 500 status calls using ERROR and CRITICAL (which is already the case in the code).

@kaiwa do you have time to review the calls to the logger between DEBUG and INFO or do you prefer I do it ? For instance, the Security component currently logs all message at DEBUG level and some of them should be INFO.

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

by kaiwa at 2011/05/25 04:31:04 -0700

@stof ok i'll do that

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

by kaiwa at 2011/05/25 12:22:51 -0700

Need some help :) I came across `ControllerNameParser::handleControllerNotFoundException()` which leads to redundant log messages currently:

>[2011-05-25 20:53:16] request.INFO: Unable to find controller "AppBaseBundle:Blog" - class "App\BaseBundle\Controller\BlogController" does not exist.

>[2011-05-25 20:53:16] request.ERROR: InvalidArgumentException: Unable to find controller "AppBaseBundle:Blog" - class "App\BaseBundle\Controller\BlogController" does not exist. (uncaught exception) at /home/ruth/symfony3/src/Symfony/Bundle/FrameworkBundle/Controller/ControllerNameParser.php line 87

Is it necessary to call `$this->logger->info($log);` if the InvalidArgumentException will be logged anyway?

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

by stof at 2011/05/25 12:39:22 -0700

Well, the issue is that the ControllerNameParser logs messages and then uses them to throw an exception. I guess the logging call should be removed as it is redundant with the one of the ExceptionListener. @fabpot thoughts ?

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

by kaiwa at 2011/05/27 11:39:25 -0700

I checked all debug, info and log calls. Sometimes it is hard to distinguish between the levels, so it would be great if someone reviews @cdf4b6a. @stof, maybe you want to take a look?

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

by kaiwa at 2011/05/31 12:52:07 -0700

@stof, thanks for your comments. I added some replies above, please let me know your suggestions.

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

by stof at 2011/05/31 14:04:22 -0700

@kaiwa As I said before, all the security logging calls should be DEBUG (most of them) or INFO (the one syaing that authentication succeeded for instance), but not WARN or ERROR as the exception don't go outside the firewall.
2011-06-15 12:31:31 +02:00
Fabien Potencier
73dc8c96af merged branch vicb/form-proto (PR #1315)
Commits
-------

07fa82d [Form] Revert changes impacting perfomance and readability
b709551 [Order] Make Form::types and FormView::types use the same order (Parent > Child)
e56dad6 [Form] simplify the code
bdd755e [Form] Fix the exception message when no block is found
c68c511 [Form] Make theming form prototypes consistent (start by looking for a '_<id>_<section>' block)
9ec9960 [Form] Simplify the code
4e3e276 [Form] Make the prototype view child of the collection view

Discussion
----------

[Form] Make the prototype view child of the collection view

This PR should be a base for discussion.

The [current implementation](https://github.com/symfony/symfony/pull/1188) has some drawbacks because the prototype view is not a child of the collection view:

  * The 'multipart' attribute is not propagated from the prototype to the collection,
  * The prototype view do not use the theme from the collection.

Those 2 points are fixed by the proposed implementation and one more benefit is that the template markup might be easier to work with:

before:

```html
<div id="form_emails">
  <div>
    <label for="form_emails_0">0</label>
    <input type="email" id="form_emails_0" name="form[emails][0]" value="a@b.com">
  </div>
  <script type="text/html" id="form_emails_prototype">
    <div>
      <label for="$$name$$">$$name$$</label>
      <input type="email" id="$$name$$" name="$$name$$" value="" />
    </div>
  </script>
</div>
```
after:

```html
<div id="form_emails">
  <div>
    <label for="form_emails_0">0</label>
    <input type="email" id="form_emails_0" name="form[emails][0]" value="a@b.com">
  </div>
  <script type="text/html" id="form_emails_prototype">
    <div>
      <label for="form_emails_$$name$$">$$name$$</label>
      <input type="email" id="form_emails_$$name$$" name="form[emails][$$name$$]" value="" />
    </div>
  </script>
</div>
```

@kriswallsmith I'd like to get your feedback on this PR. thanks.

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

by stof at 2011/06/14 07:01:01 -0700

@fabpot any ETA about merging it ? Using the prototype currently is a pain to build the name. The change makes it far easier

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

by fabpot at 2011/06/14 07:09:46 -0700

The templates are much better but I'm a bit concerned that we need to add the logic into the Form class directly. That looks quite ugly. If there is no other way, I will merge it.

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

by vicb at 2011/06/14 07:14:32 -0700

I have found no better way... I am testing some minor tweaks I want to submit.

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

by kriswallsmith at 2011/06/14 07:34:25 -0700

I'm not happy with the code in Form.php either... would creating a PrototypeType accomplish the same thing?

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

by vicb at 2011/06/14 07:42:07 -0700

@kriswallsmith tried and dismissed, the id and name are bad & you have to go for `render_widget(form.get('proto'))` in the template. That should be fixeable but not any better.

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

by kriswallsmith at 2011/06/14 07:45:21 -0700

What do you mean the id and name are bad? If we have a distinct type for the prototype, can't we do whatever we want using buildView() and the template?

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

by vicb at 2011/06/14 07:53:31 -0700

@kriswallsmith the id would be smthg like `form_emails_$$name$$_prototype` but yes we should be able to do whatever we want but the code might end up being more complex.

I am done with the tweaks but still open to feedback on this PR.

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

by kriswallsmith at 2011/06/14 08:08:21 -0700

Yes, that is the type of name I would expect.

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

by kriswallsmith at 2011/06/14 08:08:33 -0700

Oops -- I mean id.

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

by kriswallsmith at 2011/06/14 08:09:42 -0700

Maybe I'm confused what id you're referring to. I'll try to spend some time on this today.

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

by vicb at 2011/06/14 08:23:56 -0700

That should be the id of the `<input>`, the id of the script would be `form_emails_$$name$$_prototype_prototype` (if prototype is the name of the nested node).

I am trying to setup a branch with my code (playing with git & netbeans local history)

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

by vicb at 2011/06/14 08:46:25 -0700

@kriswallsmith https://github.com/vicb/symfony/tree/kris/proto if that can help (there are still changes in Form.php)

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

by kriswallsmith at 2011/06/14 08:47:08 -0700

Thanks, I'll take a look.

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

by vicb at 2011/06/15 00:48:38 -0700

I would have expected it to be faster however `array_map` is about twice slower... reverted !
2011-06-15 11:27:12 +02:00
Victor Berchet
b709551252 [Order] Make Form::types and FormView::types use the same order (Parent > Child) 2011-06-15 01:45:26 +02:00
Victor Berchet
c68c511388 [Form] Make theming form prototypes consistent (start by looking for a '_<id>_<section>' block) 2011-06-14 16:36:31 +02:00
Fabien Potencier
a232c148eb fixed CS 2011-06-14 12:54:32 +02:00
Fabien Potencier
566511e9e7 moved some FormView methods to FormUtil where they really belongs 2011-06-08 14:07:04 +02:00
Fabien Potencier
97a745e973 Merge remote branch 'vicb/form-rendering-fix'
* vicb/form-rendering-fix:
  [Form] Fix accessibility for file inputs
  [FrameworkBundle] Fix the FormHelper phpDoc
  [FrameworkBundle][Form] Add some phpDoc for the FormHelper class
  [FrameworkBundle][Form] Fix label rendering
  [FrameworkBundle][Form] Fix rendering search inputs in PHP
  [Form] FormType labels should never have a for attribute
  [Form] Never render a view again
2011-06-07 19:46:20 +02:00
Fabien Potencier
a17478ff74 tweaked previous commit 2011-06-07 11:48:08 +02:00
Fabien Potencier
96fc666454 simplified cache warmers
Here are the new simplified rules:

 * Required cache warmers are *always* executed when the Kernel boots for the first time;
 * Optional cache warmers are *only* executed from the CLI via cache:warmup

These new rules means that all the configuration settings for the cache
warmers have been removed. So, if you want the best performance, remember to
warmup the cache when going to production.

This also fixed quite a few bugs.
2011-06-07 11:42:27 +02:00
Fabien Potencier
5be0bafe7f removed TemplateReferenceInterface::getSignature() (replaced by the existing getLogicalName() which already acts as a unique identifier) 2011-06-07 10:12:38 +02:00
Fabien Potencier
5af7c7fffd moved TemplateFinder to CacheWarmer as it is only useful in this context 2011-06-07 09:39:41 +02:00
Victor Berchet
c0355038cf [FrameworkBundle] Fix the FormHelper phpDoc 2011-06-06 21:00:07 +02:00
Victor Berchet
1196eb8e51 [FrameworkBundle][Form] Add some phpDoc for the FormHelper class 2011-06-06 20:12:37 +02:00
Victor Berchet
5044a7b56d [FrameworkBundle][Form] Fix label rendering
The label should not include the view 'id' attribute as it is used by the view widget.
2011-06-06 20:12:03 +02:00
Victor Berchet
b12b11c131 [Form] Never render a view again
If some of the nested views are rendered individually they should not be rendered again when calling form_rest.
A typical would be when some nested file views are rendered, form_rest should not render them again.

It is still possible to render a label once the widget has been rendered. This is for checkboxes and radios
where the widget is typically rendered before the label.
2011-06-06 18:01:03 +02:00
Fabien Potencier
cb1f2c7e69 Merge remote branch 'kriswallsmith/templating/packages-rework'
* kriswallsmith/templating/packages-rework:
  [FrameworkBundle] updated for templating changes, added http/ssl logic
  [Templating] reworked asset helper and packages
2011-06-04 18:25:52 +02:00
Fabien Potencier
2093a45aef merged stloyd/form_label 2011-06-01 11:11:25 +02:00
stloyd
cb22ccc516 [Form] Added missing feature for adding attributes to an field label 2011-05-31 17:01:28 +02:00
Kris Wallsmith
d9f5c99fab [FrameworkBundle] updated for templating changes, added http/ssl logic 2011-05-31 06:46:30 -07:00
Victor Berchet
b61929bf4a [Form] The variable stack should not persist between section rendering (fixes #1157) 2011-05-30 19:25:02 +02:00
kaiwa
cdf4b6aa77 Checked log levels 2011-05-27 20:29:51 +02:00