cakephp4の導入の備忘録
毎回初期導入方法忘れるので細かいところまでメモ。
【環境】
xammp
を使用
PHP:8.0.1
MySQL
※開発にcakephp2使ったりcakephp4使ったりしているのでxampp内で複数phpバージョンを切り替える方法がとても参考になりました。
※ただphp5.Xに切り替えるとphpmyadminが使えないですが、正直データベースはA5:SQL Mk-2
使っているので特に問題ないかも。
インストール
$ composer self-update
インストールしたいディレクトリでターミナル起動。
// app:4.*のところはインストールするバージョンにする
$ composer create-project --prefer-dist cakephp/app:4.* <フォルダ名>
$ cd <フォルダ名>
$ bin/cake server
表示された http://localhost:8765
にアクセスできればおk。
初期設定
config/.env
config
ディレクトリの.env.example
を.env
にリネーム。
APP_NAME
とLOCALE
とTIMEXONE
とSECURITY_SALT
を変更。
.envはgit管理しないこと(githubとかでは基本デフォで管理からはずれるっぽい?)
プロジェクトで共有するなら.env.exampleのほうを安全なところで共有するらしい
export APP_NAME="my-se" //"__APP_NAME__"を適当な内容に変更
export APP_DEFAULT_LOCALE="ja_JP" //"en_US"を変更
export APP_DEFAULT_TIMEZONE="Asia/Tokyo" //"UTC"を変更
export SECURITY_SALT="__SALT__" //適当な値を入れる 英数字記号混ぜて50文字くらい?
ちなみにいつもここでランダム文字は生成してます。
config/bootstrap.php
config
ディレクトリのbootstrap.php
内の以下コメントアウトされているのを外す。
if (!env('APP_NAME') && file_exists(CONFIG . '.env')) {
$dotenv = new \josegonzalez\Dotenv\Loader([CONFIG . '.env']);
$dotenv->parse()
->putenv()
->toEnv()
->toServer();
}
.env
ファイルが読み込まれるようになる。
config/app_local.php
ローカル環境だとapp_local.php
が優先されてデータベースが読み込まれるらしい。
'Datasources' => [
'default' => [
'host' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'my_database', //データベース名
'url' => env('DATABASE_URL', null),
],
//~~~~~~~~//
],
ローカル環境で開発するときいつもusername
はroot
のまんまで、password
も空にしちゃってるんだけどいいんだろうか。
本番じゃないしローカルだけだからいいかぐらいなんですけども。