2020年7月6日 新型肺炎ウィルスの影響を受けて、お問い合わせ対応時間が10時~18時となっております。ご迷惑をおかけしますが宜しくお願い申し上げます。

New CakePHP 4.0 Strawberry.

  • 2020年7月8日
  • 2020年7月8日
  • PHP, CakePHP
  • 85view
PHP

どうもカトーです。

最近はLaravelが人気ですが、業務でCakePHP触る事があり、調べてみると随分前にCakePHPもバージョン4、CakePHP 4.0 Strawberry.が出ていることに気がつきましたよ。最近は社長業務で開発もしてなかったのこともありますので、このままじゃマズイので、早速手元の環境で簡単なBAKEしてみます。こちらはその記録ですよ。

 

まずはダウンロードとセットアップ

公式よると動作環境は、

  • HTTP Server. For example: Apache. Having mod_rewrite is preferred, but by no means required. You can also use nginx, or Microsoft IIS if you prefer.
  • Minimum PHP 7.2 (7.4 supported).
  • mbstring PHP extension
  • intl PHP extension
  • simplexml PHP extension
  • PDO PHP extension

今回、手元のXAMPPで動かすので、PHPのバージョンだけでも確認しておきます。

詳しくはこちら
https://book.cakephp.org/4/en/installation.html

laravelと同じ用にcomposerから落とします。

ガンガンエラー出てます。

ひとつずつ直していきます。
エラーを見ると、requires ext-intl * -とありますので、php.iniでextension=intlの行を有効にします。

再度ディレクトリーを消して、Webサービスを再起動して再度コマンドを打ちます。

早速、localhostで確認してみます。

無事に入ったようです。

トップに、

なにか色々変わっているのか不明ですが、まずは目的通りCRUDを用意してみます。

CakePHP4 初期設置

configディレクトリの.env.exampleを.envにリネームし、各種設定をします。

SECURITY_SALTには任意の文字列を入れておきます。続けて、デフォルトではenvファイルは読み込まれないので、bootstrap.phpのファイルのコメントアウトされている部分有効にします。

/config/bootstrap

次に、ローカル環境の場合、app_local.phpにデータベース接続の設定をします。
今回は、確認なので、デフォルトのmy_app secretの部分を確認してMySQLへ設定します。
※注意 当然ですが、ちゃんとした運用にはパスワードも変更は必須ですよ。


XAMPPだとadminからphpMyAdmin入ってるので、そのままユーザーを追加。

 

 


ここでアクセスできているのを確認です。

データベースの設定

CakePHPではマイグレーション機能でデータベース構造を作成することができるので、早速実行してみます。

この辺は過去触ったバージョンを変わりがないようですね。安心しました。

ちなみに、’bin’ は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。と出た場合は/スラッシュを¥マークのバックスラッシュしましょう。ついWindows環境だとハマってモジール入れ直しせずにどうぞ。

早速、できた20200706081624_CreatePosts.phpを加工してデータベース構造を用意します。

 

 

 

ちゃんとできてるようで、問題ないようですね。

 

Bakeの確認

この4になってなにか違うのか一応Bakeを確認します。

久しぶりに触ったのですが同じ用にいけそうなので、そのままBakeします。

 

問題ないようです。

ちゃんとPOSTできますね。

 

躓いたこと

さらっと書いたのですが、久しぶりに触ったので、実は以下、躓きましたよ。

  • app_local.phpの利用
  • デフォルトではenvファイルは読み込まれないので、bootstrap.phpのファイル修正
  • Windows環境でスラッシュとバックスラッシュ
  • 途中で仮想でもいいから、やっぱりLinuxサーバ立てようと悶絶

やはり定期的にphpフレームワークは触らないとだめですね。早速次回はこのまま何か作ろうと思いますよ。

 

最新情報をチェックしよう!
>システム構築・保守に特化した会社です。

システム構築・保守に特化した会社です。

システムの構築・保守運用「システムガーディアン」 社内システム担当が欲しいが、専属で雇うほどの仕事量はない。 必要な時に必要なだけ頼りたいというお悩みを持つ企業様へ専門知識を持って対応を行っております。 サーバから各種システムまで自社・他社で構築されたシステムに対してサポートを行っております。

CTR IMG