CakePHP 3.4.0-beta1 がリリースされました

CakePHP 3.4.0-beta1 Released の非公式日本語訳です。

CakePHP コアチームは CakePHP が 3.4.0-beta1 が利用可能になったことを発表いたします。これは 3.4.0 の最初のベータリリースで、いくつか新しい主要な機能を含んでいます。

ベータへのアップグレード

CakePHP 3.4.0 のベータ版にアップグレードするために composer を使うことができます。

php composer.phar require "cakephp/cakephp:3.4.0-beta1"

もしアプリケーションを一時的にアップグレードして、テストを走らせていただけると、たいへんありがたく思います。安定版リリースの前に、ベータ中の不具合について問題をご報告いただけると 3.4.0 の円滑なリリースを実施する助けになります。

3.4.0 における重要な変更

Cake\Network\Response は求められた PSR-7 インターフェイスを実装し、そのインターフェイスと重複するいくつかのメソッドが非推奨になりました。また、過去において Response が提供していたすべての補助メソッドのイミュータブルなバージョンも追加しています。なぜなら、コアのレスポンスオブジェクトは PSR-7 インターフェイスを実装するようになりましたので、 Cake\Http\ResponseTransformer は非推奨になり、もはや使用されないためです。

Cake\Http\ServerRequest に残っていた public プロパティは非推奨になりました。リクエスト上のすべての public プロパティは、メソッドを通してアクセスされるべきです。

$base = $this->request->base;
// こうなります
$base = $this->request->getAttribute('base');

より予想外でなく、より単純な返値の型とより良く IDE 補完できる単純なインターフェイスを提供するために、いくつかのクラスにおいて get/set の複合メソッドは非推奨になりました。この複合メソッドは getX 、 setX 形式のメソッドで置き換えられました。今のところ 3.4.0 で更新されたそうしたクラスは次の通りです。

  • Cake\Console\ConsoleOptionParser
  • Cake\Database\Connection
  • Cake\Database\Driver
  • Cake\Database\Expression\FunctionExpression
  • Cake\Database\Expression\QueryExpression
  • Cake\Database\Expression\ValuesExpression
  • Cake\Database\Query
  • Cake\Database\Schema\CachedCollection
  • Cake\Database\Schema\TableSchema
  • Cake\Database\TypeMap
  • Cake\ORM\EagerLoadable
  • Cake\ORM\Query
  • Cake\ORM\Table
  • Cake\Validation\Validator
  • Cake\View\StringTemplateTrait
  • Cake\View\ViewBuilder

加えて、各アソシエーションクラスは、様々なアソシエーションのオプションを定義するために、流れるようなインターフェイスを提供するようになりました。これらのメソッドは IDE の自動補完を向上し、誤りを見つけやすくします。

$this->belongsTo('Comments', [
    'foreignKey' => 'article_id',
    'finder' => 'active',
    'startegy' => 'subquery' // 見つけにくい打ち間違いを含んでいます。
]);

// こうなります
$this->belongsTo('Comments')
    ->setForiegnKey('article_id')
    ->setFinder('active')
    ->setStrategy('subquery');

3.4.0 におけるすべての変更の一覧は 3.4.0 移行ガイドにあります。

3.4.0-beta1 への貢献者

このリリースの実現にご協力いただいたすべての貢献者の皆様にお礼申し上げます。

  • ADmad
  • Andrej Griniuk
  • André Teixeira
  • Florian Krämer
  • Jonas Hartmann
  • Joris Vaesen
  • José Lorenzo Rodríguez
  • Juan Basso
  • Marc Würth
  • Mark Scherer
  • Mark Story
  • Mathew Foscarini
  • Ondrej Mirtes
  • antograssiot
  • chinpei215
  • glafarge
  • inoas
  • jirka
  • ndm2
  • offline

私たちはいつでも、問題を報告したり、プルリクエストを出したり、あるいは文書の更新を行ってくださるすべての貢献者の皆様に感謝しております。

Share

コメントを残す

メールアドレスが公開されることはありません。