Cakephp WEBエンジニア プログラミング

[Cakephp]Cake2からCake3系、Cake4系へ移行Tips(View系中心)

Cakephp2からCakephp3や4へのアップデートって、根幹から変わっている部分が多く(個人的には配列ベースからオブジェクトベースへ)

元コードで稼働するケースはほぼないと言っても良いほど、破壊的な変更が加えられています。(何をいまさら感)

 

そこでView中心ですが、ちっぷすとしてシンプルに箇条書きでメモを残しておきたいなと。

(モデルやコントローラーの書き方云々はおいておく。。)

View定番系置き換え(Cake2コード → Cake3/4コード形式)

・JSやCSSなどの読み込み

 Cakephp
'inline' => false → 'block' => true

 

・パンくず

 Cakephp
$this->Html->addCrumb() → $this->Breadcrumbs->add()

 

・リクエストパラメーター取得

 Cakephp
$this->action → $this->getRequest()->getParam('アクション名')

 

・HTMLヘルパーURL生成

 Cakephp
$this->Html->url() → $this->Url->build()

 

・Layoutテンプレート

 Cakephp
$script_for_layout → $this->fetch('script')
$content_for_layout → $this->fetch('content')
// ※Viewはセットで記述
$this->fetch('meta');
$this->fetch('css');
$this->fetch('script');

 

・ルーティングパラメーター取得

 Cakephp
$this->here → $this->request->getAttribute('here')

 

Controller系(ちょっとだけ)

・レイアウト設定

 Controller
$this->layout → $this->ViewBuilder()->setLayout('hoge')

 

・レスポンス系

 Controller
$this->response->statusCode(ステータス番号) → $this->response->withStatus(ステータス番号)
 
・メールCake4系[Mailer]
[st-pre myclass="st-terminal" text="Controller" fontawesome="fa-terminal"]
use Mailer;
// 略
$mailer = new Mailer('default');
$mailer->setFrom(['me@example.com' => 'My Site'])
->setTo('you@example.com')
->setSubject('About')
->deliver('My message');

 

これだけでもレガシィーなシステムから移行する際に役立つのでは!

(ん?あれ?動かんぞ・・ドキュメントドキュメント...を一つでも減らせれれば)

 

-Cakephp, WEBエンジニア, プログラミング
-

© 2022 FuwaFuwaShoChan BLOG