コネヒト開発者ブログコネヒト開発者ブログコネヒト開発者ブログ2018-03-06CakePHP3.6.0のbeta1が出たのでおさらいしてみるCakePHPTweetあけましておめでとうございます!からもう2ヵ月が経ちました。弊社ではWebApplicationは主にCakePHPを用いて開発を行っていますが、次期バージョンである3.6のベータ版がリリースされました。3.6.0-beta1について、予習をかねて覗いて見たいと思います。CakePHP4と3.6今回リリースされる3.6ですが、実は思いっきり4.xを見据えたバージョンとして位置づけられているものです。昨夏、CakePHP4へのロードマップについての発表がありました。当時の内容を以下の記事に書いております。happening.というように言及がなされています。そのため、「機能的に大きな変更はないが、コミュニティにとっては非常に意義深いものである」のではないかと個人的には考えています。述べられているのには強い意志を感じます。「真っ当に3.6を使っていれば、4.xは使ってもらえるようになる」と*2。蛇足となりますが、先日こんな興味深い議論が行われています。prefixメソッドやメンバがあるが、4.0では避けるべきでは」という問題提起です。CakePHPでは、PSR-2に従う形でvisibilityを表現するためにアンダースコアを接頭するのをやめています。GitHubしかしながら、内部的にはまだ「取り除ききれていない」のも事実です。(ちょっと事情が異なるかもしれないですが)Entityは以下のようなアクセサを用意しています。}このIssueも「あるべき姿」を考えれば実現されるべきでしょう。なっていて然るべきです。「これは4.0に取り込まれるべきではない」として決着しています。?正に、今のコミュニティとしてのCakePHPの考え方を表している意思決定だったように個人的に感じました。このコメントに良く凝縮されているので、丸っと引用してみます。features/practices.なかなかのツラミがありますね・・・自分はフレームワークとしてのCakePHPが好きだし手に馴染むと思っていますが、そんな立場からでも「2.x系から3.x系への移行を考える」というのは非常に難儀に思われました。これがコミュニティにとっての「教訓」だったとして、「もし必要な変更でも、ユーザーに対して乱暴であれば見送る」というのが、今の判断なのだなぁと感じます。それが「メジャーバージョンアップだったとしても」です。*4「4.x」手前のバージョンとしての3.6そんな今、「次のバージョンへの橋渡し」としての重要な位置付けとしての3.6にはどんな変更が盛り込まれているのでしょうか?それを知るには、移行ガイドとロードマップを見るのが良いでしょう。guideを見ています。いう変更が入りました。こちらを御覧ください。3.3の流れをくむものでしょうか。Deprecatedメソッドの利用時にwarningを発するようにwikiを見ています。実装についてはこのPRや、この関数を利用している各後続実装を確認してください。GitHubメジャーバージョンアップでは「アップデートしたら動かなかった」が1番怖いことだと思いますが、その前に「互換性のあるアップデートを行ったあとに、warningを全部潰しておけば次期バージョンでの最低限の動作を保証する」というのは非常に親切だなぁと感じました。これは既存の3.x系ユーザに対して3.6の利用を促すインセンティブにもなりそうだし、「頑張って今できることをやっていけば、すぐ次を使えるよ!」というのは個人的にはテンションも上がる気がしました。GitHubという機能が追加されます。$article]);という記述でOK!となるようで、特にリソース中心な設計を行っているアプリケーションでは従来より簡潔に開発が進められるようになるかもしれません。GitHubコントローラーとアクションを指定するルーティングが、簡潔に記述可能になっています。Objectsプラグイン周りに入った変更も、結構な「大改造」と言える気がします。GitHubこの登場で、プラグインが自身で行えるライフサイクルへの干渉・注入の柔軟性が高まったように思います。3.nextにて、利用イメージに触れられていますが、しっかり読もうとすると少し大変そうなので、また改めて確認してみたいと思います。最後に個別の機能を眺めていて、3.6はやはり「4.xへのジャンプのためのしゃがみ込み」とでもいうような印象を受けました。プラグインやルーティング、ここでは触れていませんがMiddleware周りで大きな変更や強力な機能導入も行いつつも、「3系としての実質最終バージョンとして」の姿があるように思います。https://www.php-fig.org/psr/psr-2/*4:背景的には、PHP5.3/5.4の登場やcomposerの普及といった大きな潮流の変化があったことで、「それ以前」のコードが一気に古臭くなりやすい!といった要因も看過はできません。この激流の中にあっては、ちょうどCakePHP3.0が出るときには「未来のための切り捨て」も已むを得ない部分が大きかったのではないでしょうか。19:56Tweet関連記事2020-07-07CakePHP4.1.0がリリースされたので変更点を追ってみるこんにちは。CTOの@itoshoです。最近stand.fmをはじめたので、...2019-08-14社内ツールをCakePHP4でつくりましたこんにちは。CTOの@itoshoです。夏の甲子園が始まっていますね...2017-12-14CakePHP3.5.8にアップデートしましたこんにちは!みなさま、そろそろ2017年のNo.1コミック作品を決...2017-11-09CakePHP3.5.5にアップデートしました!こんにちは。先日乃木坂46の東京ドーム公演に行ってきた@itosho...2017-09-06CakePHP3.5.1にアップデートしました!CakePHPのバージョンを、3.5.1に更新しました。(2)書いたメンバーid:taxa_programid:katsutomu0124id:sasashuuuid:NahomiTakahashiid:toc8id:yoshitaka465id:yanamuraid:ryoutakaya3623id:azuki_mihomihoid:takflifeid:nagaisid:aboy_perryid:laugh_kid:connehito-mkashiwagiid:tommy_kwid:itosho525id:su-kun1899id:ohayoukenchanid:satoshieid:plane25id:connehitoid:fortkleお問い合わせコネヒト株式会社Wantedly引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。