vendor/symfony/UPDATE.ja.md
author cavaliet
Fri, 04 Jul 2014 16:58:31 +0200
changeset 119 a1cf7fac5c2d
parent 0 7f95f8617b0b
permissions -rwxr-xr-x
adapt code to be compatible with dinosaur php 5.3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
プロジェクトをアップデートする方法
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
このドキュメントでは、Symfony2 の特定のバージョンから1つ次のバージョンへアップデートする方法を説明します。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
このドキュメントでは、フレームワークの "パブリックな" APIを使っている場合に必要な変更点についてのみ説明しています。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
フレームワークのコアコードを "ハック" している場合は、変更履歴を注意深く追跡する必要があるでしょう。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
RC4 から RC5
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
------------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
* `MapFileClassLoader` は削除され `MapClassLoader` が採用されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
* `exception_controller` の設定は、 `framework` セクションの `twig` へ移動しました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
* カスタムエラーページは、現在 `TwigBundle` の代わりに `FrameworkBundle` を参照する必要があります。(参照 http://symfony.com/doc/2.0/cookbook/controller/error_pages.html)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
* `EntityUserProvider` クラスは Bridge へ移動されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
  FQCN は `Symfony\Component\Security\Core\User\EntityUserProvider` から
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
  `Symfony\Bridge\Doctrine\Security\User\EntityUserProvider` に変更になります。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
* `HeaderBag` からの Cookie アクセスが削除されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
  リクエスト Cookie へのアクセスには、`Request::$cookies` を使ってください。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
* `ResponseHeaderBag::getCookie()` メソッドと `ResponseHeaderBag::hasCookie()` メソッドは削除されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
* `ResponseHeaderBag::getCookies()` メソッドの引数で、戻り値のフォーマットを指定できるようになりました。指定できる値は `ResponseHeaderBag::COOKIES_FLAT` (デフォルト値) または `ResponseHeaderBag::COOKIES_ARRAY` です。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
    * `ResponseHeaderBag::COOKIES_FLAT` を指定すると、戻り値は単純な配列になります(配列のキーは、Cookie の名前ではなくなります):
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
        * array(0 => `Cookie インスタンス`, 1 => `別の Cookie インスタンス`)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
    * `ResponseHeaderBag::COOKIES_ARRAY` を指定すると、戻り値は多次元配列になります:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
        * array(`ドメイン` => array(`パス` => array(`Cookie 名` => `Cookie インスタンス`)))
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
* 制約は有効となったキーのみを保持し、その値は保持していないため、Choice 制約の推測クラス(Guesser)は削除されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
* MonologBundle の設定のリファクタリングが行われました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
    * プロセッサでサポートされるのは、サービスのみです。このサービスは `monolog.processor` タグを使って登録します。次の 3 つの属性を指定できます:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
        * `handler`: 特定のハンドラーのみに対して登録する場合、そのハンドラーの名前
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
        * `channel`: 特定のロギングチャンネルのみに対して登録する場合のチャンネル (`handler` とどちらか一方のみを指定)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
        * `method`: レコードの処理に使用するメソッド (指定しない場合は `__invoke` が使われます)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
    * `SwiftMailerHandler` の email_prototype 設定に指定できるのは、サービスのみです。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
        * 変更前:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
            email_prototype: @acme_demo.monolog.email_prototype
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
        * 変更後:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
            email_prototype: acme_demo.monolog.email_prototype
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
          もしくは、次のようにしてプロトタイプ用のファクトリを使うこともできます:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
            email_prototype:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
                id:     acme_demo.monolog.email_prototype
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
                method: getPrototype
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
* セキュリティを考慮し、プロキシ由来の HTTP ヘッダー (`HTTP_X_FORWARDED_FOR``X_FORWARDED_PROTO``X_FORWARDED_HOST` 等) は、デフォルトでは信頼されなくなりました。リバースプロキシ経由でアプリケーションを利用する構成の場合は、次のように設定してください:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
        framework:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
            trust_proxy_headers: true
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
* 意図しない名前の衝突を避けるため、AbstractType によるフォームタイプ名の自動定義は行われなくなりました。カスタムタイプを作成する場合は、明示的に `getName()` メソッドを実装する必要があります。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
RC3 から RC4
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
------------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
* Annotation クラスには、@Annotation を付加してください。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
  (例については Validator コンポーネントの制約クラスを参照してください)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
* アノテーションのオートロードには、PHP の機構ではなく独自の機構が使われるように変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
  これにより、失敗の状態についてより制御できるようになりました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
  コードを動作させるようにするには、`autoload.php` ファイルの末尾に次のコードを追加してください:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
        use Doctrine\Common\Annotations\AnnotationRegistry;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
        AnnotationRegistry::registerLoader(function($class) use ($loader) {
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
            $loader->loadClass($class);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
            return class_exists($class, false);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
        });
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
        AnnotationRegistry::registerFile(
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
            __DIR__.'/../vendor/doctrine/lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
        );
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
  `$loader` 変数は `UniversalClassLoader` のインスタンスです。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
  また、ORM のパスを `DoctrineAnnotations.php` に変更しなければいけない場合もあります。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
  `UniversalClassLoader` を使っていない場合、アノテーションの登録の詳細については、[Doctrine アノテーションドキュメント](http://www.doctrine-project.org/docs/common/2.1/en/reference/annotations.html) を参照してください。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
beta5 から RC1
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
--------------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
* `Symfony\Bundle\FrameworkBundle\Command\Command` クラスの名前が
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
  `Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand` に変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
* ルーティングの `AnnotGlobLoader` クラスが削除されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
* Twig フォームテンプレートのいくつかのブロックの名前は、衝突を避けるために変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
    * `container_attributes` から `widget_container_attributes`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
    * `attributes` から `widget_attributes`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
    * `options` から `widget_choice_options`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
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
    * すべてのリスナーには、`kernel.listener` タグではなく `kernel.event_listener` タグを設定する必要があります。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
    * カーネルイベントのプレフィックスが `core` から `kernel` に変更されました:
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
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
                <tag name="kernel.listener" event="core.request" method="onCoreRequest" />
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
        * 変更後:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
                <tag name="kernel.event_listener" event="kernel.request" method="onKernelRequest" />
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
        Note: メソッド名 method 属性で独立して指定できるので、`onCoreRequest` のままでも動作しますが、将来的な一貫性のためにイベント名に合わせたメソッド名に変更しておく方がよいでしょう。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
    * `Symfony\Component\HttpKernel\CoreEvents` クラスの名前が
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
      `Symfony\Component\HttpKernel\KernelEvents` に変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
* `TrueValidator``FalseValidator` の受け付ける値をより限定しました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
beta4 から beta5
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
----------------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
* `UserProviderInterface::loadUser()` メソッドの名前は、メソッドの目的がより明確になるよう、`UserProviderInterface::refreshUser()` に変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
* `WebTestCase` クラスの `$kernel` プロパティは static に変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
  ファンクショナルテスト内で `$this->kernel` を使っている箇所は、`self::$kernel` に変更してください。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
* AsseticBundle は独立したリポジトリで管理されるようになりました(Symfony2 Standard Edition にはバンドルされています)。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
* Yaml コンポーネントの変更:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
    * Exception クラスは独自の名前空間へ移動されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
    * `Yaml::load()` メソッドの名前は `Yaml::parse()` に変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
* `HttpFoundation` コンポーネントの `File` クラスのリファクタリング:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
    * `Symfony\Component\HttpFoundation\File\File` の API が新しくなりました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
       * `\SplFileInfo` を継承するようになりました
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
           * `getName()``getBasename()` に変更
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
           * `getDirectory()``getPath()` に変更
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
           * `getPath()``getRealPath()` に変更
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
       * `move()` メソッドを呼び出した時に、対象ディレクトリがまだ存在していない場合は作成されるようになりました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
       * `getExtension()``guessExtension()` の戻り値の拡張子から、先頭の `.` が除去されるように変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
    * `Symfony\Component\HttpFoundation\File\UploadedFile` の API が新しくなりました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
        * コンストラクタに真偽値の引数が追加されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
          この引数に true を指定すると、ファイルを移動できるようになりますが、テストモード以外では true に設定しないでください。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
          コアファイル以外の外部から true に設定することは想定していません。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
        * `getMimeType()` は、対象ファイルの MIME タイプを必ず返すように変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
           リクエストから MIME タイプを取得する場合は、`getClientMimeType()` メソッドを使ってください。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
        * `getSize()` は、対象ファイルのサイズを必ず返すように変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
           リクエストからファイルサイズを取得する場合は、`getClientSize()` メソッドを使ってください。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
        * リクエストからオリジナルのファイル名を取得する場合は、`getClientOriginalName()` メソッドを使ってください。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
* Twig の `extensions` 設定は削除されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
  Twig エクステンションを登録する場合は、`twig.extension` タグを使ってください。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
* Monolog ハンドラのスタックで、デフォルトで記録が伝播されるようになりました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
  伝播されないようにするには、bubble を明示的に false に設定してください。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
* `SerializerInterface` が拡張されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
  Serializer クラスのパブリックメソッドの数は減りましたが、後方互換性が損なわれ、コンポーネント独自の Exception クラスが追加されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
* `FileType` フォームクラスが大きく変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
    * テンポラリストレージが削除されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
    * FileType の `type` オプションが削除されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
      新しい動作は、以前の `type``file` を設定した場合の動作と同じです。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
    * ファイルウィジェットは、他の INPUT フィールドと同じようにレンダリングされるように変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
* Doctrine の `EntityType` クラスコンストラクタの `em` 引数には、EntityManager インスタンスの代わりにエンティティマネージャー名を指定するよう変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
  このオプションをを渡さない場合、以前と同じようにデフォルトのエンティティマネージャーが使われます。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
* Console コンポーネントの中の `Command::getFullname()` メソッドと `Command::getNamespace()` メソッドは削除されました
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
  (`Command::getName()` メソッドの振る舞いは以前の `Command::getFullname()` メソッドと同じになりました)。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
* デフォルトの Twig フォームテンプレートは Twig bridge に移動されました。以下のようにすればテンプレートや
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
  コンフィギュレーション設定中で現在Twig フォームテンプレートを参照できます:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   197
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   198
    変更前:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   199
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
        TwigBundle:Form:div_layout.html.twig
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
    変更後:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   203
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
        form_div_layout.html.twig
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
* キャッシュウォーマーに関連する設定は、すべて削除されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   207
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   208
* `Response::isRedirected()` メソッドは `Response::isRedirect()` メソッドに統合されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   210
beta3 から beta4
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   211
----------------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   212
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   213
* `Profile` のインスタンスを返す `Client::getProfile()` メソッドへの変更に従い、`Client::getProfiler()` メソッドは削除されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   214
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   215
* いくつかの `UniversalClassLoader` のメソッド名は変更されました:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   216
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   217
    * `registerPrefixFallback` から `registerPrefixFallbacks`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   218
    * `registerNamespaceFallback` から `registerNamespaceFallbacks`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   219
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   220
* イベントシステムはさらに柔軟になりました。リスナーは任意の有効でコール可能な PHP 関数であれば可能になりました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   221
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   222
    * `EventDispatcher::addListener($eventName, $listener, $priority = 0)`:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   223
        * `$eventName` がイベント名で (もう配列ではいけません)、
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   224
        * `$listener` が コール可能な PHP 関数です。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   225
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   226
    * イベントクラス名と定数が変更されました:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   227
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   228
        * 以前の `Symfony\Component\Form\Events` のクラス名と定数:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   229
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   230
                Events::preBind = 'preBind'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   231
                Events::postBind = 'postBind'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   232
                Events::preSetData = 'preSetData'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   233
                Events::postSetData = 'postSetData'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   234
                Events::onBindClientData = 'onBindClientData'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   235
                Events::onBindNormData = 'onBindNormData'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   236
                Events::onSetData = 'onSetData'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   237
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   238
        * 新しい `Symfony\Component\Form\FormEvents` クラス名と定数:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   239
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   240
                FormEvents::PRE_BIND = 'form.pre_bind'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   241
                FormEvents::POST_BIND = 'form.post_bind'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   242
                FormEvents::PRE_SET_DATA = 'form.pre_set_data'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   243
                FormEvents::POST_SET_DATA = 'form.post_set_data'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   244
                FormEvents::BIND_CLIENT_DATA = 'form.bind_client_data'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   245
                FormEvents::BIND_NORM_DATA = 'form.bind_norm_data'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   246
                FormEvents::SET_DATA = 'form.set_data'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   247
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   248
        * 以前の `Symfony\Component\HttpKernel\Events` のクラス名と定数:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   249
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   250
                Events::onCoreRequest = 'onCoreRequest'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   251
                Events::onCoreException = 'onCoreException'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   252
                Events::onCoreView = 'onCoreView'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   253
                Events::onCoreController = 'onCoreController'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   254
                Events::onCoreResponse = 'onCoreResponse'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   255
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   256
        * 新しい `Symfony\Component\HttpKernel\CoreEvents` のクラス名と定数:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   257
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   258
                CoreEvents::REQUEST = 'core.request'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   259
                CoreEvents::EXCEPTION = 'core.exception'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   260
                CoreEvents::VIEW = 'core.view'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   261
                CoreEvents::CONTROLLER = 'core.controller'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   262
                CoreEvents::RESPONSE = 'core.response'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   263
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   264
        * 以前の `Symfony\Component\Security\Http\Events` のクラス名と定数:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   265
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   266
                Events::onSecurityInteractiveLogin = 'onSecurityInteractiveLogin'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   267
                Events::onSecuritySwitchUser = 'onSecuritySwitchUser'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   268
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   269
        * 新しい `Symfony\Component\Security\Http\SecurityEvents` のクラス名と定数:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   270
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   271
                SecurityEvents::INTERACTIVE_LOGIN = 'security.interactive_login'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   272
                SecurityEvents::SWITCH_USER = 'security.switch_user'
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   273
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   274
    * `addListenerService` は第 1 引数として単一のイベント名だけを取るようになりました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   275
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   276
    * コンフィギュレーションのタグでは、呼び出すメソッドを指定する必要があります。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   277
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   278
        * 変更前:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   279
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   280
                <tag name="kernel.listener" event="onCoreRequest" />
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   281
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   282
        * 変更後:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   283
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   284
                <tag name="kernel.listener" event="core.request" method="onCoreRequest" />
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   285
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   286
    * Subscriber は常に連想配列を返すようになりました:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   287
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   288
        * 変更前:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   289
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   290
                public static function getSubscribedEvents()
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   291
                {
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   292
                    return Events::onBindNormData;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   293
                }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   294
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   295
        * 変更後:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   296
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   297
                public static function getSubscribedEvents()
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   298
                {
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   299
                    return array(FormEvents::BIND_NORM_DATA => 'onBindNormData');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   300
                }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   301
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   302
* フォーム `DateType` パラメーターの `single-text``single_text` へ変更されました
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   303
* フォームフィールドラベルヘルパーは属性の設定も受け入れるようになりました。例 :
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   304
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   305
```html+jinja
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   306
{{ form_label(form.name, 'Custom label', { 'attr': {'class': 'name_field'} }) }}
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   307
```
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   308
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   309
* Swiftmailer を使うためには、autoloader ("app/autoloader.php") を通して "init.php" を登録し、
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   310
  `Swift_` prefix の登録を autoloader から削除しなければなりません。これをどのように行うべきかの例は、
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   311
  Standard Distribution をご覧ください。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   312
  [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
   313
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   314
beta2 から beta3
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   315
----------------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   316
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   317
* `framework.annotations` に属する設定が少し変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   318
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   319
    変更前:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   320
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   321
        framework:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   322
            annotations:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   323
                cache: file
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   324
                file_cache:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   325
                    debug: true
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   326
                    dir: /foo
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   327
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   328
    変更後:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   329
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   330
        framework:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   331
            annotations:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   332
                cache: file
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   333
                debug: true
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   334
                file_cache_dir: /foo
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   335
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   336
beta1 から beta2
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   337
----------------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   338
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   339
* アノテーションのパース処理が変更され、Doctrine Common 3.0 を利用するようになりました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   340
  クラス内で使うアノテーションは、インポートする必要があります(`use` で PHP の名前空間をインポートするのと同様です)。
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
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   344
``` php
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   345
<?php
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   346
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   347
/**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   348
 * @orm:Entity
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   349
 */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   350
class AcmeUser
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   351
{
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   352
    /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   353
     * @orm:Id
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   354
     * @orm:GeneratedValue(strategy = "AUTO")
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   355
     * @orm:Column(type="integer")
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   356
     * @var integer
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   357
     */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   358
    private $id;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   359
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   360
    /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   361
     * @orm:Column(type="string", nullable=false)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   362
     * @assert:NotBlank
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   363
     * @var string
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   364
     */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   365
    private $name;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   366
}
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   367
```
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   368
  変更後:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   369
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   370
``` php
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   371
<?php
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   372
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   373
use Doctrine\ORM\Mapping as ORM;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   374
use Symfony\Component\Validator\Constraints as Assert;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   375
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   376
/**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   377
 * @ORM\Entity
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   378
 */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   379
class AcmeUser
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   380
{
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   381
    /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   382
     * @ORM\Id
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   383
     * @ORM\GeneratedValue(strategy="AUTO")
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   384
     * @ORM\Column(type="integer")
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   385
     *
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   386
     * @var integer
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   387
     */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   388
    private $id;
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\Column(type="string", nullable=false)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   392
     * @Assert\NotBlank
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   393
     *
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   394
     * @var string
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   395
     */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   396
    private $name;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   397
}
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   398
```
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   399
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   400
* `Set` 制約の記述が変更され、必要なくなったため削除されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   401
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
``` php
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   405
<?php
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   406
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   407
/**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   408
 * @orm:Entity
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   409
 */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   410
class AcmeEntity
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   411
{
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   412
    /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   413
     * @assert:Set({@assert:Callback(...), @assert:Callback(...)})
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   414
     */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   415
    private $foo;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   416
}
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   417
```
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
``` php
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   421
<?php
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   422
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   423
use Doctrine\ORM\Mapping as ORM;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   424
use Symfony\Component\Validator\Constraints\Callback;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   425
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   426
/**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   427
 * @ORM\Entity
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   428
 */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   429
class AcmeEntity
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   430
{
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   431
    /**
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   432
     * @Callback(...)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   433
     * @Callback(...)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   434
     */
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   435
    private $foo;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   436
}
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   437
```
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   438
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   439
* `framework.validation.annotations` に属するコンフィギュレーションは削除され、`framework.validation.enable_annotations` の真偽値に置き換えられました(デフォルトでは `false` です)。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   440
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   441
* フォームを使う場合は、明示的に有効化するよう変更されました(Symfony Standard Edition のコンフィギュレーションではデフォルトで有効に設定されています)。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   442
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   443
        framework:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   444
            form: ~
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   445
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   446
    これは、次のように記述しても同じです。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   447
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   448
        framework:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   449
            form:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   450
                enabled: true
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   451
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   452
* Routing コンポーネントの例外を移動しました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   453
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
        Symfony\Component\Routing\Matcher\Exception\Exception
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   457
        Symfony\Component\Routing\Matcher\Exception\NotFoundException
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   458
        Symfony\Component\Routing\Matcher\Exception\MethodNotAllowedException
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
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   462
        Symfony\Component\Routing\Exception\Exception
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   463
        Symfony\Component\Routing\Exception\NotFoundException
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   464
        Symfony\Component\Routing\Exception\MethodNotAllowedException
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   465
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   466
* Form コンポーネントの `csrf_page_id` オプションの名前は、`intention` に変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   467
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   468
* `error_handler` の設定が削除されました。`ErrorHandler` クラスは Symfony Standard Edition の `AppKernel` で直接管理されるように変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   469
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   470
* Doctrine のメタデータ用のディレクトリが、`Resources/config/doctrine/metadata/orm/` から `Resources/config/doctrine` に変更され、各ファイルの拡張子が `.dcm.yml` から ``.orm.yml`` に変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   471
  また、ファイル名は短いクラス名のみに変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   472
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
        Resources/config/doctrine/metadata/orm/Bundle.Entity.dcm.xml
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   476
        Resources/config/doctrine/metadata/orm/Bundle.Entity.dcm.yml
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   477
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   478
    変更後:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   479
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   480
        Resources/config/doctrine/Entity.orm.xml
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   481
        Resources/config/doctrine/Entity.orm.yml
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   482
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   483
* 新しい Doctrine Registry クラスの導入により、次のパラメータは削除されました(`doctrine` サービスのメソッドに置き換えられました)。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   484
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   485
   * `doctrine.orm.entity_managers`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   486
   * `doctrine.orm.default_entity_manager`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   487
   * `doctrine.dbal.default_connection`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   488
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   489
    変更前:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   490
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   491
        $container->getParameter('doctrine.orm.entity_managers')
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   492
        $container->getParameter('doctrine.orm.default_entity_manager')
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   493
        $container->getParameter('doctrine.orm.default_connection')
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   494
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   495
    変更後:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   496
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   497
        $container->get('doctrine')->getEntityManagerNames()
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   498
        $container->get('doctrine')->getDefaultEntityManagerName()
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   499
        $container->get('doctrine')->getDefaultConnectionName()
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   500
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   501
    ただし、これらのメソッドを使わなくても、次のようにして Registry オブジェクトから直接 EntityManager オブジェクトを取得できます。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   502
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   503
    変更前:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   504
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   505
        $em = $this->get('doctrine.orm.entity_manager');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   506
        $em = $this->get('doctrine.orm.foobar_entity_manager');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   507
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   508
    変更後:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   509
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   510
        $em = $this->get('doctrine')->getEntityManager();
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   511
        $em = $this->get('doctrine')->getEntityManager('foobar');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   512
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   513
* `doctrine:generate:entities` コマンドの引数とオプションが変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   514
  新しい引数とオプションの詳細は、`./app/console doctrine:generate:entities --help` コマンドを実行して確認してください。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   515
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   516
* `doctrine:generate:repositories` コマンドは削除されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   517
  このコマンドに相当する機能は、`doctrine:generate:entities` コマンドに統合されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   518
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   519
* Doctrine イベントサブスクライバーは、ユニークな `doctrine.event_subscriber` タグを使うように変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   520
  また、Doctrine イベントリスナーは、ユニークな `doctrine.event_listener` タグを使うように変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   521
  コネクションを指定するには、オプションの `connection` 属性を使ってください。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   522
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   523
    変更前:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   524
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   525
        listener:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   526
            class: MyEventListener
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   527
            tags:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   528
                - { name: doctrine.common.event_listener, event: name }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   529
                - { name: doctrine.dbal.default_event_listener, event: name }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   530
        subscriber:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   531
            class: MyEventSubscriber
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   532
            tags:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   533
                - { name: doctrine.common.event_subscriber }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   534
                - { name: doctrine.dbal.default_event_subscriber }
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   535
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   536
    変更後:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   537
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   538
        listener:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   539
            class: MyEventListener
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   540
            tags:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   541
                - { name: doctrine.event_listener, event: name }                      # すべてのコネクションに対して登録
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   542
                - { name: doctrine.event_listener, event: name, connection: default } # デフォルトコネクションにのみ登録
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   543
        subscriber:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   544
            class: MyEventSubscriber
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   545
            tags:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   546
                - { name: doctrine.event_subscriber }                      # すべてのコネクションに対して登録
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   547
                - { name: doctrine.event_subscriber, connection: default } # デフォルトコネクションにのみ登録
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   548
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   549
* アプリケーションの翻訳ファイルは、`Resources` ディレクトリに保存されるように変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   550
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   551
    変更前:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   552
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   553
        app/translations/catalogue.fr.xml
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   554
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   555
    変更後:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   556
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   557
        app/Resources/translations/catalogue.fr.xml
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   558
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   559
* `collection` フォームタイプの `modifiable` オプションは、2 つのオプション "allow_add" と "allow_delete" に分割されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   560
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   561
    変更前:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   562
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   563
        $builder->add('tags', 'collection', array(
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   564
            'type' => 'text',
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   565
            'modifiable' => true,
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   566
        ));
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   567
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   568
    変更後:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   569
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   570
        $builder->add('tags', 'collection', array(
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   571
            'type' => 'text',
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   572
            'allow_add' => true,
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   573
            'allow_delete' => true,
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   574
        ));
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   575
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   576
* `Request::hasSession()` メソッドの名前は `Request::hasPreviousSession()` に変更されました。`hasSession()` メソッドはまだ存在しますが、
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   577
  セッションが以前のリクエストから開始されたかどうかではなく、リクエストがセッションオブジェクトを含んでいるかチェックするのみです。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   578
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   579
* Serializer: NormalizerInterface の `supports()` メソッドは `supportsNormalization()``supportsDenormalization()` の 2 つのメソッドに分割されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   580
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   581
* `ParameterBag::getDeep()` メソッドは削除され、`ParameterBag::get()` メソッドの真偽値の引数に置き換えられました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   582
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   583
* Serializer: `AbstractEncoder``AbstractNormalizer` はそれぞれ `SerializerAwareEncoder``SerializerAwareNormalizer` に名前が変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   584
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   585
* Serializer: すべてのインターフェイスから `$properties` という引数が除かれました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   586
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   587
* Form: オプションの値である "date" タイプの "widget" の "text" は "single-text" に名前が変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   588
  "text" は現在は個々のテキストボックスを示します ("time" タイプのように) 。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   589
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   590
* Form: ビュー変数 `name``full_name` に変更されました。`name` 変数には `$form->getName()` と同じ値である、ローカルの短い名前が格納されるようになりました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   591
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   592
PR12 から beta1
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   593
---------------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   594
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   595
* CSRF シークレットの設定は、`secret` という必須のグローバル設定に変更されました(また、このシークレット値は CSRF 以外でも利用されます)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   596
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   597
    変更前:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   598
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   599
        framework:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   600
            csrf_protection:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   601
                secret: S3cr3t
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   602
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   603
    変更後:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   604
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   605
        framework:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   606
            secret: S3cr3t
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   607
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   608
* `File::getWebPath()` メソッドと `File::rename()` メソッドは削除されました。同様に `framework.document_root` コンフィギュレーションも削除されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   609
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   610
* `File::getDefaultExtension()` メソッドの名前は `File::guessExtension()` に変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   611
  また、拡張子を推測できなかった場合は null を返すように変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   612
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   613
* `session` のコンフィギュレーションがリファクタリングされました
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   614
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   615
  * `class` オプションが削除されました(代わりに `session.class` パラメータを使ってください)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   616
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   617
  * PDO セッションストレージのコンフィギュレーションが削除されました(クックブックのレシピは修正中です)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   618
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   619
  * `storage_id` オプションには、サービスIDの一部ではなく、サービスIDそのものを指定するように変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   620
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   621
* `DoctrineMigrationsBundle``DoctrineFixturesBundle` の 2 つのバンドルは、Symfony コアから独立し、個別のリポジトリで管理されるようになりました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   622
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   623
* フォームフレームワークの大きなリファクタリングが行われました(詳細はドキュメントを参照してください)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   624
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   625
* `trans` タグで、翻訳するメッセージを引数として受け取る形式が廃止されました:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   626
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   627
        {% trans "foo" %}
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   628
        {% trans foo %}
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   629
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   630
    次のような長い形式か、フィルタ形式を使ってください:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   631
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   632
        {% trans %}foo{% endtrans %}
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   633
        {{ foo|trans }}
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   634
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   635
    こうすることで、タグとフィルタの使用方法が明確になり、自動出力エスケープのルールが適用された場合により分かりやすくなります(詳細はドキュメントを参照してください)。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   636
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   637
* DependencyInjection コンポーネントの `ContainerBuilder` クラスと `Definition` クラスのいくつかのメソッドの名前が、より分かりやすく一貫性のある名前に変更されました:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   638
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   639
    変更前:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   640
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   641
        $container->remove('my_definition');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   642
        $definition->setArgument(0, 'foo');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   643
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   644
    変更後:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   645
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   646
        $container->removeDefinition('my_definition');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   647
        $definition->replaceArgument(0, 'foo');
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   648
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   649
* rememberme のコンフィギュレーションで、`token_provider key` サービスIDのサフィックスを指定するのではなく、サービスIDそのものを指定するように変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   650
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   651
PR11 から PR12
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   652
--------------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   653
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   654
* HttpFoundation\Cookie::getExpire() は getExpiresTime() に名前が変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   655
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   656
* XMLのコンフィギュレーションの記述方法が変更されました。属性が1つしかないタグは、すべてタグのコンテンツとして記述するように変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   657
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   658
  変更前:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   659
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   660
        <bundle name="MyBundle" />
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   661
        <app:engine id="twig" />
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   662
        <twig:extension id="twig.extension.debug" />
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   663
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   664
  変更後:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   665
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   666
        <bundle>MyBundle</bundle>
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   667
        <app:engine>twig</app:engine>
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   668
        <twig:extension>twig.extension.debug</twig:extension>
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   669
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   670
* SwitchUserListenerが有効な場合に、すべてのユーザーが任意のアカウントになりすませる致命的な脆弱性を修正しました。SwitchUserListenerを利用しない設定にしている場合は影響はありません。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   671
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   672
* DIコンテナのコンパイルプロセスの最後に、すべてのサービスに対する参照のバリデーションがより厳密に行われるようになりました。これにより、無効なサービス参照が見つかった場合は、コンパイル時の例外が発生します(以前の動作は、実行時例外でした)。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   673
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   674
PR10 から PR11
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   675
--------------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   676
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   677
* エクステンションのコンフィギュレーションクラスには、`Symfony\Component\Config\Definition\ConfigurationInterface` インターフェイスを実装する必要があります。この部分の後方互換性は維持されていますが、今後の開発のために、エクステンションにこのインターフェイスを実装しておいてください。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   678
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   679
* Monologのオプション `fingerscrossed``fingers_crossed` に名前が変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   680
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   681
PR9 から PR10
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   682
-------------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   683
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   684
* バンドルの論理名には、再び `Bundle` サフィックスを付けるように修正されました:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   685
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   686
    *コントローラ*: `Blog:Post:show` -> `BlogBundle:Post:show`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   687
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   688
    *テンプレート*: `Blog:Post:show.html.twig` -> `BlogBundle:Post:show.html.twig`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   689
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   690
    *リソース*:     `@Blog/Resources/config/blog.xml` -> `@BlogBundle/Resources/config/blog.xml`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   691
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   692
    *Doctrine*:     `$em->find('Blog:Post', $id)` -> `$em->find('BlogBundle:Post', $id)`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   693
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   694
* `ZendBundle``MonologBundle` に置き換えられました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   695
  これに関するプロジェクトのアップデート方法は、Symfony Standard Edition の変更点を参考にしてください:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   696
  https://github.com/symfony/symfony-standard/pull/30/files
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   697
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   698
* コアバンドルのパラメータは、ほぼすべて削除されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   699
  代わりにバンドルのエクステンションの設定で公開されている設定を使うようにしてください。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   700
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   701
* 一貫性のために、いくつかのコアバンドルのサービス名が変更されました。
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   702
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   703
* バリデータの名前空間が `validation` から `assert` へ変更されました(PR9向けにアナウンスされていましたが、PR10での変更となりました):
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   704
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   705
    変更前:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   706
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   707
        @validation:NotNull
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   708
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   709
    変更後:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   710
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   711
        @assert:NotNull
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   712
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   713
    さらに、いくつかの制約で使われていた `Assert` プレフィックスは削除されました(`AssertTrue` から `True` へ変更)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   714
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   715
* `ApplicationTester::getDisplay()``CommandTester::getDisplay()` メソッドは、コマンドの終了コードを返すようになりました
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   716
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   717
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   718
PR8 から PR9
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   719
------------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   720
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   721
* `Symfony\Bundle\FrameworkBundle\Util\Filesystem` は、`Symfony\Component\HttpKernel\Util\Filesystem` へ移動されました
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   722
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   723
* `Execute` 制約は、`Callback` 制約に名前が変更されました
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   724
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   725
* HTTPの例外クラスのシグニチャが変更されました:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   726
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   727
    変更前:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   728
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   729
        throw new NotFoundHttpException('Not Found', $message, 0, $e);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   730
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   731
    変更後:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   732
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   733
        throw new NotFoundHttpException($message, $e);
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   734
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   735
* RequestMatcher クラスでは、正規表現に `^``$` が自動的には追加されなくなりました
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   736
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   737
    この変更によって、セキュリティの設定をたとえば次のように変更する必要があります:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   738
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   739
    変更前:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   740
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   741
        pattern:  /_profiler.*
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   742
        pattern:  /login
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   743
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   744
    変更後:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   745
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   746
        pattern:  ^/_profiler
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   747
        pattern:  ^/login$
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   748
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   749
* `app/` ディレクトリ以下のグローバルテンプレートの位置が変更されました(古いディレクトリでは動作しなくなります):
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   750
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
        app/views/base.html.twig
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   754
        app/views/AcmeDemoBundle/base.html.twig
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   755
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   756
    変更後:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   757
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   758
        app/Resources/views/base.html.twig
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   759
        app/Resources/AcmeDemo/views/base.html.twig
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   760
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   761
* バンドルの論理名に、`Bundle` サフィックスをつける必要がなくなりました:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   762
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   763
    *コントローラ*: `BlogBundle:Post:show` -> `Blog:Post:show`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   764
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   765
    *テンプレート*: `BlogBundle:Post:show.html.twig` -> `Blog:Post:show.html.twig`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   766
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   767
    *リソース*:     `@BlogBundle/Resources/config/blog.xml` -> `@Blog/Resources/config/blog.xml`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   768
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   769
    *Doctrine*:    `$em->find('BlogBundle:Post', $id)` -> `$em->find('Blog:Post', $id)`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   770
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   771
* Asseticのフィルターは明示的にロードする必要があります:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   772
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   773
        assetic:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   774
            filters:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   775
                cssrewrite: ~
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   776
                yui_css:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   777
                    jar:      "/path/to/yuicompressor.jar"
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   778
                my_filter:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   779
                    resource: "%kernel.root_dir%/config/my_filter.xml"
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   780
                    foo:      bar