LoginSignup
2
0

More than 3 years have passed since last update.

cakephp3のインストール

Posted at

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,
        ],
    ],
    // 下には他の設定があります
];

ここまでがcakephpの公式にある内容なのですが、、
スクリーンショット 2021-01-04 1.14.26.png

あれ、、データベースでエラー出てますね、、設定は間違いないはずなのになんで、、、?

調べてみると3.9からの機能でapp_local.phpというものがあり、こちらも設定
テスト用に作られたファイルみたいです。
こちらも設定した方が良さそうですね、、、
一旦、試したいだけだったので、本番と同じDB情報を設定します

参考URL
https://coodip.com/articles/3649

スクリーンショット 2021-01-04 1.14.47.png

成功したみたいです。
よかった!
基本的なセットアップはここまでになります^^

bakeコマンド

必要に応じて、モデル、ビュー、コントローラー作る必要があります
bake の後にどれを作る種類を選択し、その後に名前を指定するとcake側で基本に沿ったファイルを作ってくれます。
最初にファイルを作る時、勝手に作ってくれるのでこれは覚えておくと便利!

 php ./bin/cake.php bake model users
2
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0