cakephp3(cakephp3.9)を使用することが増えそうだったので、
忘れないようにインストール方法をまとめることにした
ついでに、cakephp3公式のスタートアップのガイドはこちら
https://book.cakephp.org/3/ja/quickstart.html
今回はvagrantを使用し、php7.1環境にセットアップします
※cakephp3はPHP7.4 (最小は PHP 5.6)の環境が必要です
インストール
インストールはcomposerを使用
curl -s https://getcomposer.org/installer | php
php composer.phar create-project --prefer-dist cakephp/app:^3.8 cms
しかし、エラー、、
Install of cakephp/plugin-installer failed
[RuntimeException]
Could not delete /var/www/html/cakephp3/cms/vendor/cakephp/plugin-installer /tests:
調べてみたら、vagrant特有のエラーみたいです
--no-pluginsを付与すればいいみたいです
php composer.phar create-project --prefer-dist --no-plugins cakephp/app:^3.8 cms
インストールはできたが警告が...
Action required!
The CakePHP plugin installer v1.3+ no longer requires the "post-autoload-dump" hook. Please update your app's composer.json file and remove usage of Cake\Composer\Installer\PluginInstaller::postAutoloadDump
https://tt-computing.com/cake4-remove-post-autoload-dump
こちらのページによるとcomposer.jsonのここの部分削除したら問題ないみたいです、これでバッチリ
"post-autoload-dump":"Cake\\Composer\\Installer\\PluginInstaller::postAutoloadDump"
DBの設定
使用するためのデータベースを作成してください
今回、確認のためだけだったので、スタートアップにあったSQL使いました
https://book.cakephp.org/3/ja/quickstart.html#cms
config/app.php
の以下の部分を正しいものに書き換えます
<?php
return [
// 上には他の設定があります
'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => 'localhost',
'username' => '[MySqlユーザー名]',
'password' => '[MySqlパスワード]',
'database' => '[データベース名]',
'encoding' => 'utf8mb4',
'timezone' => 'UTC',
'cacheMetadata' => true,
],
],
// 下には他の設定があります
];
あれ、、データベースでエラー出てますね、、設定は間違いないはずなのになんで、、、?
調べてみると3.9からの機能でapp_local.php
というものがあり、こちらも設定
テスト用に作られたファイルみたいです。
こちらも設定した方が良さそうですね、、、
一旦、試したいだけだったので、本番と同じDB情報を設定します
成功したみたいです。
よかった!
基本的なセットアップはここまでになります^^
bakeコマンド
必要に応じて、モデル、ビュー、コントローラー作る必要があります
bake の後にどれを作る種類を選択し、その後に名前を指定するとcake側で基本に沿ったファイルを作ってくれます。
最初にファイルを作る時、勝手に作ってくれるのでこれは覚えておくと便利!
php ./bin/cake.php bake model users