vendor/symfony/UPDATE.md
author cavaliet
Mon, 07 Jul 2014 17:19:01 +0200
changeset 121 ada5f3d8b5b4
parent 0 7f95f8617b0b
permissions -rwxr-xr-x
adapt code for php's great memory management
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
How to update your project?
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
===========================
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
This document explains how to upgrade from one Symfony2 version to the next
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
one. It only discusses changes that need to be done when using the "public"
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
API of the framework. If you "hack" the core, you should probably follow the
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
timeline closely anyway.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
RC4 to RC5
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
----------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
* The `MapFileClassLoader` has been removed in favor of a new
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
  `MapClassLoader`.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
* The `exception_controller` setting has been moved from the `framework`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
  section to the `twig` one.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
* The custom error pages must now reference `TwigBundle` instead of
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
  `FrameworkBundle` (see
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
  http://symfony.com/doc/2.0/cookbook/controller/error_pages.html)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
* `EntityUserProvider` class has been moved and FQCN changed from
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
  `Symfony\Component\Security\Core\User\EntityUserProvider` to
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
  `Symfony\Bridge\Doctrine\Security\User\EntityUserProvider`.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
* Cookies access from `HeaderBag` has been removed. Accessing Request cookies
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
  must be done via `Request::$cookies``.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
* `ResponseHeaderBag::getCookie()` and `ResponseHeaderBag::hasCookie()`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
  methods were removed.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
* The method `ResponseHeaderBag::getCookies()` now supports an argument for the
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
  returned format (possible values are `ResponseHeaderBag::COOKIES_FLAT`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
  (default value) or `ResponseHeaderBag::COOKIES_ARRAY`).
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
    * `ResponseHeaderBag::COOKIES_FLAT` returns a simple array (the array keys
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
      are not cookie names anymore):
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
        * array(0 => `a Cookie instance`, 1 => `another Cookie instance`)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
    * `ResponseHeaderBag::COOKIES_ARRAY` returns a multi-dimensional array:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
        * array(`the domain` => array(`the path` => array(`the cookie name` => `a Cookie instance`)))
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
* Removed the guesser for the Choice constraint as the constraint only knows
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
  about the valid keys, and not their values.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
* The configuration of MonologBundle has been refactored.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
    * Only services are supported for the processors. They are now registered
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
      using the `monolog.processor` tag which accept three optionnal attributes:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
        * `handler`: the name of an handler to register it only for a specific handler
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
        * `channel`: to register it only for one logging channel (exclusive with `handler`)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
        * `method`: The method used to process the record (`__invoke` is used if not set)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
    * The email_prototype for the `SwiftMailerHandler` only accept a service id now.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
        * Before:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
            email_prototype: @acme_demo.monolog.email_prototype
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
        * After:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
            email_prototype: acme_demo.monolog.email_prototype
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
          or if you want to use a factory for the prototype:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
            email_prototype:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
                id:     acme_demo.monolog.email_prototype
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
                method: getPrototype
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
* To avoid security issues, HTTP headers coming from proxies are not trusted
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
  anymore by default (like `HTTP_X_FORWARDED_FOR`, `X_FORWARDED_PROTO`, and
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
  `X_FORWARDED_HOST`). If your application is behind a reverse proxy, add the
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
  following configuration:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
        framework:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
            trust_proxy_headers: true
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
* To avoid hidden naming collisions, the AbstractType does not try to define
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
  the name of form types magically. You now need to implement the `getName()`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
  method explicitly when creating a custom type.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
* Renamed some methods to follow the naming conventions:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
        Session::getAttributes() -> Session::all()
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
        Session::setAttributes() -> Session::replace()
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
* {_locale} is not supported in paths in the access_control section anymore. You can
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
  rewrite the paths using a regular expression such as "(?:[a-z]{2})".
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
RC3 to RC4
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
----------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
* Annotation classes must be annotated with @Annotation
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
  (see the validator constraints for examples)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
* Annotations are not using the PHP autoloading but their own mechanism. This
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
  allows much more control about possible failure states. To make your code
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
  work, add the following lines at the end of your `autoload.php` file:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
        use Doctrine\Common\Annotations\AnnotationRegistry;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
        AnnotationRegistry::registerLoader(function($class) use ($loader) {
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
            $loader->loadClass($class);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
            return class_exists($class, false);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
        });
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
        AnnotationRegistry::registerFile(
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
            __DIR__.'/../vendor/doctrine/lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
        );
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
  The `$loader` variable is an instance of `UniversalClassLoader`.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
  Additionally you might have to adjust the ORM path to the
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
  `DoctrineAnnotations.php`. If you are not using the `UniversalClassLoader`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
  see the [Doctrine Annotations
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
  documentation](http://www.doctrine-project.org/docs/common/2.1/en/reference/annotations.html)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
  for more details on how to register annotations.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
beta5 to RC1
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
------------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
* Renamed `Symfony\Bundle\FrameworkBundle\Command\Command` to
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
  `Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
* Removed the routing `AnnotGlobLoader` class
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
* Some blocks in the Twig Form templates have been renamed to avoid
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
  collisions:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
    * `container_attributes` to `widget_container_attributes`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
    * `attributes` to `widget_attributes`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
    * `options` to `widget_choice_options`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
* Event changes:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
    * All listeners must now be tagged with `kernel.event_listener` instead of
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
      `kernel.listener`.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
    * Kernel events are now properly prefixed with `kernel` instead of `core`:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
        * Before:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
                <tag name="kernel.listener" event="core.request" method="onCoreRequest" />
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
        * After:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
                <tag name="kernel.event_listener" event="kernel.request" method="onKernelRequest" />
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
        Note: the method can of course remain as `onCoreRequest`, but renaming it
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
        as well for consistency with future projects makes sense.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
    * The `Symfony\Component\HttpKernel\CoreEvents` class has been renamed to
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
      `Symfony\Component\HttpKernel\KernelEvents`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
* `TrueValidator` and `FalseValidator` constraints validators no longer accepts any value as valid data.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
beta4 to beta5
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
--------------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
* `UserProviderInterface::loadUser()` has been renamed to
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
  `UserProviderInterface::refreshUser()` to make the goal of the method
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
  clearer.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
* The `$kernel` property on `WebTestCase` is now static. Change any instances
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
  of `$this->kernel` in your functional tests to `self::$kernel`.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
* The AsseticBundle has been moved to its own repository (it still bundled
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
  with Symfony SE).
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
* Yaml Component:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
    * Exception classes have been moved to their own namespace
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
    * `Yaml::load()` has been renamed to `Yaml::parse()`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
* The File classes from `HttpFoundation` have been refactored:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
    * `Symfony\Component\HttpFoundation\File\File` has a new API:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
       * It now extends `\SplFileInfo`:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
           * former `getName()` equivalent is `getBasename()`,
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
           * former `getDirectory()` equivalent is `getPath()`,
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
           * former `getPath()` equivalent is `getRealPath()`.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
       * the `move()` method now creates the target directory when it does not exist,
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
       * `getExtension()` and `guessExtension()` do not return the extension
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
          with a leading `.` anymore
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
    * `Symfony\Component\HttpFoundation\File\UploadedFile` has a new API:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
        * The constructor has a new Boolean parameter that must be set to true
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
          in test mode only in order to be able to move the file. This parameter
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
          is not intended to be set to true from outside of the core files.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   197
        * `getMimeType()` now always returns the mime type of the underlying file.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   198
           Use `getClientMimeType()` to get the mime type from the request.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   199
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
        * `getSize()` now always returns the size of the underlying file.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
           Use `getClientSize()` to get the file size from the request.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   203
        * Use `getClientOriginalName()` to retrieve the original name from the
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
          request.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
* The `extensions` setting for Twig has been removed. There is now only one
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   207
  way to register Twig extensions, via the `twig.extension` tag.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   208
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
* The stack of Monolog handlers now bubbles the records by default. To stop
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   210
  the propagation you need to configure the bubbling explicitly.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   211
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   212
* Expanded the `SerializerInterface`, while reducing the number of public
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   213
  methods in the Serializer class itself breaking BC and adding component
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   214
  specific Exception classes.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   215
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   216
* The `FileType` Form class has been heavily changed:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   217
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   218
    * The temporary storage has been removed.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   219
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   220
    * The file type `type` option has also been removed (the new behavior is
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   221
      the same as when the `type` was set to `file` before).
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   222
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   223
    * The file input is now rendered as any other input field.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   224
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   225
* The `em` option of the Doctrine `EntityType` class now takes the entity
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   226
  manager name instead of the EntityManager instance. If you don't pass this
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   227
  option, the default Entity Manager will be used as before.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   228
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   229
* In the Console component: `Command::getFullname()` and
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   230
  `Command::getNamespace()` have been removed (`Command::getName()` behavior
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   231
  is now the same as the old `Command::getFullname()`).
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   232
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   233
* Default Twig form templates have been moved to the Twig bridge. Here is how
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   234
  you can reference them now from a template or in a configuration setting:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   235
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   236
    Before:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   237
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   238
        TwigBundle:Form:div_layout.html.twig
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   239
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   240
    After:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   241
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   242
        form_div_layout.html.twig
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   243
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   244
* All settings regarding the cache warmers have been removed.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   245
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   246
* `Response::isRedirected()` has been merged with `Response::isRedirect()`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   247
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   248
beta3 to beta4
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   249
--------------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   250
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   251
* `Client::getProfiler` has been removed in favor of `Client::getProfile`,
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   252
  which returns an instance of `Profile`.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   253
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   254
* Some `UniversalClassLoader` methods have been renamed:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   255
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   256
    * `registerPrefixFallback` to `registerPrefixFallbacks`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   257
    * `registerNamespaceFallback` to `registerNamespaceFallbacks`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   258
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   259
* The event system has been made more flexible. A listener can now be any
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   260
  valid PHP callable.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   261
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   262
    * `EventDispatcher::addListener($eventName, $listener, $priority = 0)`:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   263
        * `$eventName` is the event name (cannot be an array anymore),
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   264
        * `$listener` is a PHP callable.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   265
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   266
    * The events classes and constants have been renamed:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   267
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   268
        * Old class name `Symfony\Component\Form\Events` and constants:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   269
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   270
                Events::preBind = 'preBind'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   271
                Events::postBind = 'postBind'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   272
                Events::preSetData = 'preSetData'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   273
                Events::postSetData = 'postSetData'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   274
                Events::onBindClientData = 'onBindClientData'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   275
                Events::onBindNormData = 'onBindNormData'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   276
                Events::onSetData = 'onSetData'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   277
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   278
        * New class name `Symfony\Component\Form\FormEvents` and constants:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   279
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   280
                FormEvents::PRE_BIND = 'form.pre_bind'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   281
                FormEvents::POST_BIND = 'form.post_bind'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   282
                FormEvents::PRE_SET_DATA = 'form.pre_set_data'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   283
                FormEvents::POST_SET_DATA = 'form.post_set_data'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   284
                FormEvents::BIND_CLIENT_DATA = 'form.bind_client_data'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   285
                FormEvents::BIND_NORM_DATA = 'form.bind_norm_data'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   286
                FormEvents::SET_DATA = 'form.set_data'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   287
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   288
        * Old class name `Symfony\Component\HttpKernel\Events` and constants:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   289
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   290
                Events::onCoreRequest = 'onCoreRequest'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   291
                Events::onCoreException = 'onCoreException'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   292
                Events::onCoreView = 'onCoreView'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   293
                Events::onCoreController = 'onCoreController'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   294
                Events::onCoreResponse = 'onCoreResponse'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   295
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   296
        * New class name `Symfony\Component\HttpKernel\CoreEvents` and constants:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   297
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   298
                CoreEvents::REQUEST = 'core.request'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   299
                CoreEvents::EXCEPTION = 'core.exception'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   300
                CoreEvents::VIEW = 'core.view'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   301
                CoreEvents::CONTROLLER = 'core.controller'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   302
                CoreEvents::RESPONSE = 'core.response'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   303
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   304
        * Old class name `Symfony\Component\Security\Http\Events` and constants:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   305
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   306
                Events::onSecurityInteractiveLogin = 'onSecurityInteractiveLogin'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   307
                Events::onSecuritySwitchUser = 'onSecuritySwitchUser'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   308
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   309
        * New class name `Symfony\Component\Security\Http\SecurityEvents` and constants:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   310
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   311
                SecurityEvents::INTERACTIVE_LOGIN = 'security.interactive_login'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   312
                SecurityEvents::SWITCH_USER = 'security.switch_user'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   313
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   314
    * `addListenerService` now only takes a single event name as its first
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   315
      argument,
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   316
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   317
    * Tags in configuration must now set the method to call:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   318
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   319
        * Before:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   320
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   321
                <tag name="kernel.listener" event="onCoreRequest" />
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   322
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   323
        * After:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   324
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   325
                <tag name="kernel.listener" event="core.request" method="onCoreRequest" />
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   326
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   327
    * Subscribers must now always return a hash:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   328
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   329
        * Before:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   330
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   331
                public static function getSubscribedEvents()
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   332
                {
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   333
                    return Events::onBindNormData;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   334
                }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   335
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   336
        * After:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   337
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   338
                public static function getSubscribedEvents()
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   339
                {
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   340
                    return array(FormEvents::BIND_NORM_DATA => 'onBindNormData');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   341
                }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   342
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   343
* Form `DateType` parameter `single-text` changed to `single_text`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   344
* Form field label helpers now accepts setting attributes, i.e.:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   345
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   346
```html+jinja
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   347
{{ form_label(form.name, 'Custom label', { 'attr': {'class': 'name_field'} }) }}
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   348
```
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   349
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   350
* In order to use Swiftmailer, you should now register its "init.php" file via
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   351
  the autoloader ("app/autoloader.php") and remove the `Swift_` prefix from
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   352
  the autoloader. For an example on how this should be done, see the Standard
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   353
  Distribution
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   354
  [autoload.php](https://github.com/symfony/symfony-standard/blob/v2.0.0BETA4/app/autoload.php#L29).
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   355
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   356
beta2 to beta3
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   357
--------------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   358
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   359
* The settings under `framework.annotations` have changed slightly:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   360
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   361
    Before:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   362
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   363
        framework:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   364
            annotations:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   365
                cache: file
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   366
                file_cache:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   367
                    debug: true
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   368
                    dir: /foo
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   369
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   370
    After:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   371
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   372
        framework:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   373
            annotations:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   374
                cache: file
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   375
                debug: true
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   376
                file_cache_dir: /foo
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   377
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   378
beta1 to beta2
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   379
--------------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   380
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   381
* The annotation parsing process has been changed (it now uses Doctrine Common
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   382
  3.0). All annotations which are used in a class must now be imported (just
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   383
  like you import PHP namespaces with the "use" statement):
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   384
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   385
  Before:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   386
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   387
``` php
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   388
<?php
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   389
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   390
/**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   391
 * @orm:Entity
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   392
 */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   393
class AcmeUser
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   394
{
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   395
    /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   396
     * @orm:Id
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   397
     * @orm:GeneratedValue(strategy = "AUTO")
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   398
     * @orm:Column(type="integer")
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   399
     * @var integer
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   400
     */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   401
    private $id;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   402
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   403
    /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   404
     * @orm:Column(type="string", nullable=false)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   405
     * @assert:NotBlank
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   406
     * @var string
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   407
     */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   408
    private $name;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   409
}
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   410
```
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   411
  After:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   412
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   413
``` php
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   414
<?php
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   415
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   416
use Doctrine\ORM\Mapping as ORM;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   417
use Symfony\Component\Validator\Constraints as Assert;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   418
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   419
/**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   420
 * @ORM\Entity
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   421
 */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   422
class AcmeUser
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   423
{
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   424
    /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   425
     * @ORM\Id
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   426
     * @ORM\GeneratedValue(strategy="AUTO")
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   427
     * @ORM\Column(type="integer")
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   428
     *
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   429
     * @var integer
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   430
     */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   431
    private $id;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   432
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   433
    /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   434
     * @ORM\Column(type="string", nullable=false)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   435
     * @Assert\NotBlank
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   436
     *
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   437
     * @var string
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   438
     */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   439
    private $name;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   440
}
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   441
```
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   442
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   443
* The `Set` constraint has been removed as it is not required anymore.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   444
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   445
Before:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   446
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   447
``` php
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   448
<?php
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   449
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   450
/**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   451
 * @orm:Entity
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   452
 */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   453
class AcmeEntity
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   454
{
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   455
    /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   456
     * @assert:Set({@assert:Callback(...), @assert:Callback(...)})
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   457
     */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   458
    private $foo;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   459
}
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   460
```
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   461
After:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   462
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   463
``` php
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   464
<?php
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   465
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   466
use Doctrine\ORM\Mapping as ORM;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   467
use Symfony\Component\Validator\Constraints\Callback;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   468
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   469
/**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   470
 * @ORM\Entity
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   471
 */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   472
class AcmeEntity
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   473
{
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   474
    /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   475
     * @Callback(...)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   476
     * @Callback(...)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   477
     */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   478
    private $foo;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   479
}
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   480
```
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   481
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   482
* The config under `framework.validation.annotations` has been removed and was
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   483
  replaced with a boolean flag `framework.validation.enable_annotations` which
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   484
  defaults to false.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   485
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   486
* Forms must now be explicitly enabled (automatically done in Symfony SE):
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   487
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   488
        framework:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   489
            form: ~
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   490
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   491
    Which is equivalent to:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   492
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   493
        framework:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   494
            form:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   495
                enabled: true
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   496
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   497
* The Routing Exceptions have been moved:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   498
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   499
    Before:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   500
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   501
        Symfony\Component\Routing\Matcher\Exception\Exception
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   502
        Symfony\Component\Routing\Matcher\Exception\NotFoundException
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   503
        Symfony\Component\Routing\Matcher\Exception\MethodNotAllowedException
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   504
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   505
    After:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   506
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   507
        Symfony\Component\Routing\Exception\Exception
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   508
        Symfony\Component\Routing\Exception\NotFoundException
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   509
        Symfony\Component\Routing\Exception\MethodNotAllowedException
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   510
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   511
* The form component's `csrf_page_id` option has been renamed to
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   512
  `intention`.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   513
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   514
* The `error_handler` setting has been removed. The `ErrorHandler` class
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   515
  is now managed directly by Symfony SE in `AppKernel`.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   516
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   517
* The Doctrine metadata files has moved from
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   518
  `Resources/config/doctrine/metadata/orm/` to `Resources/config/doctrine`,
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   519
  the extension from `.dcm.yml` to `.orm.yml`, and the file name has been
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   520
  changed to the short class name.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   521
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   522
    Before:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   523
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   524
        Resources/config/doctrine/metadata/orm/Bundle.Entity.dcm.xml
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   525
        Resources/config/doctrine/metadata/orm/Bundle.Entity.dcm.yml
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   526
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   527
    After:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   528
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   529
        Resources/config/doctrine/Entity.orm.xml
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   530
        Resources/config/doctrine/Entity.orm.yml
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   531
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   532
* With the introduction of a new Doctrine Registry class, the following
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   533
  parameters have been removed (replaced by methods on the `doctrine`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   534
  service):
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   535
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   536
   * `doctrine.orm.entity_managers`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   537
   * `doctrine.orm.default_entity_manager`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   538
   * `doctrine.dbal.default_connection`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   539
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   540
    Before:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   541
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   542
        $container->getParameter('doctrine.orm.entity_managers')
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   543
        $container->getParameter('doctrine.orm.default_entity_manager')
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   544
        $container->getParameter('doctrine.orm.default_connection')
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   545
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   546
    After:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   547
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   548
        $container->get('doctrine')->getEntityManagerNames()
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   549
        $container->get('doctrine')->getDefaultEntityManagerName()
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   550
        $container->get('doctrine')->getDefaultConnectionName()
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   551
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   552
    But you don't really need to use these methods anymore, as to get an entity
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   553
    manager, you can now use the registry directly:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   554
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   555
    Before:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   556
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   557
        $em = $this->get('doctrine.orm.entity_manager');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   558
        $em = $this->get('doctrine.orm.foobar_entity_manager');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   559
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   560
    After:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   561
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   562
        $em = $this->get('doctrine')->getEntityManager();
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   563
        $em = $this->get('doctrine')->getEntityManager('foobar');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   564
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   565
* The `doctrine:generate:entities` arguments and options changed. Run
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   566
  `./app/console doctrine:generate:entities --help` for more information about
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   567
  the new syntax.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   568
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   569
* The `doctrine:generate:repositories` command has been removed. The
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   570
  functionality has been moved to the `doctrine:generate:entities`.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   571
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   572
* Doctrine event subscribers now use a unique "doctrine.event_subscriber" tag.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   573
  Doctrine event listeners also use a unique "doctrine.event_listener" tag. To
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   574
  specify a connection, use the optional "connection" attribute.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   575
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   576
    Before:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   577
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   578
        listener:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   579
            class: MyEventListener
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   580
            tags:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   581
                - { name: doctrine.common.event_listener, event: name }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   582
                - { name: doctrine.dbal.default_event_listener, event: name }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   583
        subscriber:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   584
            class: MyEventSubscriber
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   585
            tags:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   586
                - { name: doctrine.common.event_subscriber }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   587
                - { name: doctrine.dbal.default_event_subscriber }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   588
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   589
    After:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   590
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   591
        listener:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   592
            class: MyEventListener
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   593
            tags:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   594
                - { name: doctrine.event_listener, event: name }                      # register for all connections
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   595
                - { name: doctrine.event_listener, event: name, connection: default } # only for the default connection
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   596
        subscriber:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   597
            class: MyEventSubscriber
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   598
            tags:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   599
                - { name: doctrine.event_subscriber }                      # register for all connections
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   600
                - { name: doctrine.event_subscriber, connection: default } # only for the default connection
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   601
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   602
* Application translations are now stored in the `Resources` directory:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   603
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   604
    Before:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   605
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   606
        app/translations/catalogue.fr.xml
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   607
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   608
    After:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   609
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   610
        app/Resources/translations/catalogue.fr.xml
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   611
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   612
* The option `modifiable` of the `collection` form type was split into two
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   613
  options `allow_add` and `allow_delete`.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   614
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   615
    Before:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   616
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   617
        $builder->add('tags', 'collection', array(
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   618
            'type' => 'text',
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   619
            'modifiable' => true,
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   620
        ));
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   621
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   622
    After:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   623
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   624
        $builder->add('tags', 'collection', array(
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   625
            'type' => 'text',
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   626
            'allow_add' => true,
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   627
            'allow_delete' => true,
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   628
        ));
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   629
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   630
* `Request::hasSession()` has been renamed to `Request::hasPreviousSession()`. The
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   631
  method `hasSession()` still exists, but only checks if the request contains a
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   632
  session object, not if the session was started in a previous request.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   633
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   634
* Serializer: The NormalizerInterface's `supports()` method has been split in
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   635
  two methods: `supportsNormalization()` and `supportsDenormalization()`.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   636
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   637
* `ParameterBag::getDeep()` has been removed, and is replaced with a boolean flag
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   638
  on the `ParameterBag::get()` method.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   639
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   640
* Serializer: `AbstractEncoder` & `AbstractNormalizer` were renamed to
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   641
  `SerializerAwareEncoder` & `SerializerAwareNormalizer`.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   642
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   643
* Serializer: The `$properties` argument has been dropped from all interfaces.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   644
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   645
* Form: Renamed option value `text` of `widget` option of the `date` type was
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   646
  renamed to `single-text`. `text` indicates to use separate text boxes now
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   647
  (like for the `time` type).
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   648
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   649
* Form: Renamed view variable `name` to `full_name`. The variable `name` now
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   650
  contains the local, short name (equivalent to `$form->getName()`).
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   651
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   652
PR12 to beta1
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   653
-------------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   654
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   655
* The CSRF secret configuration has been moved to a mandatory global `secret`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   656
  setting (as the secret is now used for everything and not just CSRF):
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   657
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   658
    Before:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   659
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   660
        framework:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   661
            csrf_protection:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   662
                secret: S3cr3t
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   663
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   664
    After:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   665
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   666
        framework:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   667
            secret: S3cr3t
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   668
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   669
* The `File::getWebPath()` and `File::rename()` methods have been removed, as
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   670
  well as the `framework.document_root` configuration setting.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   671
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   672
* The `File::getDefaultExtension()` method has been renamed to `File::guessExtension()`.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   673
  The renamed method now returns null if it cannot guess the extension.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   674
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   675
* The `session` configuration has been refactored:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   676
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   677
  * The `class` option has been removed (use the `session.class` parameter
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   678
    instead);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   679
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   680
  * The PDO session storage configuration has been removed (a cookbook recipe
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   681
    is in the work);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   682
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   683
  * The `storage_id` option now takes a service id instead of just part of it.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   684
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   685
* The `DoctrineMigrationsBundle` and `DoctrineFixturesBundle` bundles have
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   686
  been moved to their own repositories.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   687
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   688
* The form framework has been refactored extensively (more information in the
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   689
  documentation).
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   690
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   691
* The `trans` tag does not accept a message as an argument anymore:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   692
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   693
        {% trans "foo" %}
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   694
        {% trans foo %}
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   695
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   696
    Use the long version the tags or the filter instead:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   697
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   698
        {% trans %}foo{% endtrans %}
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   699
        {{ foo|trans }}
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   700
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   701
    This has been done to clarify the usage of the tag and filter and also to
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   702
    make it clearer when the automatic output escaping rules are applied (see
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   703
    the doc for more information).
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   704
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   705
* Some methods in the DependencyInjection component's `ContainerBuilder` and
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   706
  `Definition` classes have been renamed to be more specific and consistent:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   707
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   708
    Before:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   709
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   710
        $container->remove('my_definition');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   711
        $definition->setArgument(0, 'foo');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   712
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   713
    After:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   714
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   715
        $container->removeDefinition('my_definition');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   716
        $definition->replaceArgument(0, 'foo');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   717
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   718
* In the rememberme configuration, the `token_provider key` now expects a real
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   719
  service id instead of only a suffix.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   720
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   721
PR11 to PR12
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   722
------------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   723
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   724
* `HttpFoundation\Cookie::getExpire()` was renamed to `getExpiresTime()`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   725
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   726
* XML configurations have been normalized. All tags with only one attribute
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   727
  have been converted to tag content:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   728
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   729
    Before:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   730
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   731
        <bundle name="MyBundle" />
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   732
        <app:engine id="twig" />
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   733
        <twig:extension id="twig.extension.debug" />
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   734
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   735
    After:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   736
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   737
        <bundle>MyBundle</bundle>
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   738
        <app:engine>twig</app:engine>
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   739
        <twig:extension>twig.extension.debug</twig:extension>
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   740
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   741
* Fixes a critical security issue which allowed all users to switch to
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   742
  arbitrary accounts when the SwitchUserListener was activated. Configurations
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   743
  which do not use the SwitchUserListener are not affected.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   744
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   745
* The Dependency Injection Container now strongly validates the references of
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   746
  all your services at the end of its compilation process. If you have invalid
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   747
  references this will result in a compile-time exception instead of a run-time
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   748
  exception (the previous behavior).
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   749
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   750
PR10 to PR11
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   751
------------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   752
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   753
* Extension configuration classes should now implement the
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   754
  `Symfony\Component\Config\Definition\ConfigurationInterface` interface. Note
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   755
  that the BC is kept but implementing this interface in your extensions will
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   756
  allow for further developments.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   757
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   758
* The `fingerscrossed` Monolog option has been renamed to `fingers_crossed`.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   759
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   760
PR9 to PR10
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   761
-----------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   762
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   763
* Bundle logical names earned back their `Bundle` suffix:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   764
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   765
    *Controllers*: `Blog:Post:show` -> `BlogBundle:Post:show`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   766
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   767
    *Templates*:   `Blog:Post:show.html.twig` -> `BlogBundle:Post:show.html.twig`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   768
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   769
    *Resources*:   `@Blog/Resources/config/blog.xml` -> `@BlogBundle/Resources/config/blog.xml`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   770
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   771
    *Doctrine*:    `$em->find('Blog:Post', $id)` -> `$em->find('BlogBundle:Post', $id)`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   772
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   773
* `ZendBundle` has been replaced by `MonologBundle`. Have a look at the
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   774
  changes made to Symfony SE to see how to upgrade your projects:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   775
  https://github.com/symfony/symfony-standard/pull/30/files
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   776
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   777
* Almost all core bundles parameters have been removed. You should use the
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   778
  settings exposed by the bundle extension configuration instead.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   779
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   780
* Some core bundles service names changed for better consistency.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   781
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   782
* Namespace for validators has changed from `validation` to `assert` (it was
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   783
  announced for PR9 but it was not the case then):
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   784
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   785
    Before:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   786
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   787
        @validation:NotNull
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   788
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   789
    After:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   790
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   791
        @assert:NotNull
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   792
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   793
    Moreover, the `Assert` prefix used for some constraints has been removed
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   794
    (`AssertTrue` to `True`).
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   795
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   796
* `ApplicationTester::getDisplay()` and `CommandTester::getDisplay()` method
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   797
  now return the command exit code
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   798
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   799
PR8 to PR9
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   800
----------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   801
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   802
* `Symfony\Bundle\FrameworkBundle\Util\Filesystem` has been moved to
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   803
  `Symfony\Component\HttpKernel\Util\Filesystem`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   804
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   805
* The `Execute` constraint has been renamed to `Callback`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   806
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   807
* The HTTP exceptions classes signatures have changed:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   808
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   809
    Before:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   810
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   811
        throw new NotFoundHttpException('Not Found', $message, 0, $e);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   812
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   813
    After:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   814
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   815
        throw new NotFoundHttpException($message, $e);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   816
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   817
* The RequestMatcher class does not add `^` and `$` anymore to regexp.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   818
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   819
    You need to update your security configuration accordingly for instance:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   820
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   821
    Before:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   822
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   823
        pattern:  /_profiler.*
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   824
        pattern:  /login
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   825
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   826
    After:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   827
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   828
        pattern:  ^/_profiler
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   829
        pattern:  ^/login$
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   830
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   831
* Global templates under `app/` moved to a new location (old directory did not
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   832
  work anyway):
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   833
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   834
    Before:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   835
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   836
        app/views/base.html.twig
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   837
        app/views/AcmeDemoBundle/base.html.twig
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   838
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   839
    After:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   840
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   841
        app/Resources/views/base.html.twig
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   842
        app/Resources/AcmeDemo/views/base.html.twig
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   843
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   844
* Bundle logical names lose their `Bundle` suffix:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   845
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   846
    *Controllers*: `BlogBundle:Post:show` -> `Blog:Post:show`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   847
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   848
    *Templates*:   `BlogBundle:Post:show.html.twig` -> `Blog:Post:show.html.twig`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   849
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   850
    *Resources*:   `@BlogBundle/Resources/config/blog.xml` -> `@Blog/Resources/config/blog.xml`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   851
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   852
    *Doctrine*:    `$em->find('BlogBundle:Post', $id)` -> `$em->find('Blog:Post', $id)`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   853
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   854
* Assetic filters must be now explicitly loaded:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   855
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   856
        assetic:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   857
            filters:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   858
                cssrewrite: ~
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   859
                yui_css:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   860
                    jar:      "/path/to/yuicompressor.jar"
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   861
                my_filter:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   862
                    resource: "%kernel.root_dir%/config/my_filter.xml"
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   863
                    foo:      bar