【初心者】CakePHP3の初期設定とデータベース接続

初期設定とDB接続

こんにちはRujuuです。

先日初めてPHP、CakePHPに触れたのですが、基本の「き」からつまずいてしまいました。

今回はそんなCakePHP3.xの初期設定とデータベース接続について、つまずきポイントをカバーしつつ紹介します。

本記事の環境

本記事の環境です。

  • XAMPP 7.4.29
  • Windows 11
  • PHP 7.4.29
  • Apache 2.4.53
  • 10.4.24-MariaDB
  • CakePHP 3.10.4

MariaDBはMySQLから派生したDBなので、代わりにMySQLを使用してもOKです。

CakePHPのプロジェクト作成

コマンドプロンプトか、XAMPPのコントロールパネルのShellで、xamppのフォルダ内のhtdocsまで移動します。

bash
cd /c/xampp/htdocs/

もし移動できなければ、代わりに以下のコマンドを入力してください。

bash
cd ../../xampp/htdocs

移動出来たら下記コマンドでプロジェクトを作成します。

「^3.10」はCakePHPのバージョンを指定しており、「relation_sample」は作成するプロジェクトの名前(フォルダ名)を指定しています。

bash
composer create-project --prefer-dist cakephp/app:^3.10 relation_sample

実行するとインストールが開始されますので、英語でなにか聞かれたら「y」を入力してENTERしてください。

これでCakePHPのプロジェクトは作成完了です。

XAMPPのApacheのポートを変更していなければ、「http://localhost/relation_sample/」。

ポートを変更していれば、「http://localhost:ポート番号/relation_sample/」。

でCakePHPが動いているか確認してください。

動いていれば下記のような画面になるはずです。

cakephp_dash

データベース作成

次にデータベースを作成するため、phpmyadminページへ入ります。

Apacheのポートを変更していなければ、「http://localhost/phpmyadmin/」で入れるはずです。

入ったら、下記画像の赤丸部分をクリックしてデータベースを作成していきます。

phpmyadmin_db
データベース名はなんでもよいのですが、とりあえず「relation_sample」という名前で作成しておきます。

phpmyadmin_create
作成をクリックすればデータベースが作成されます。

データベース接続

データベース接続

続いてデータベースに接続していきます。

先ほど「http://localhost/relation_sample/」にアクセスした際、Database欄になにやらデータベースに接続できないと表示されたかと思います。(CakePHP is able to connect the database.と表示された方は接続済みです)

これを解決するために、VScodeなどのコードエディタ・テキストエディタなどで、「/c/xampp/htdocs/relation_sample/config/app_local.php」を開いてください。

「relation_sample」の部分は貴方様のお決めになったプロジェクト名です。

開いたら、37行目~52行目付近を下記のように編集していきます。

app_local.php
'Datasources' => [
    'default' => [
        'host' => 'localhost',
        // XAMPPのMySQLポートを変更している場合は下記のように記載
        //'port' => '3309',
        /*
         * CakePHP will use the default DB port based on the driver selected
         * MySQL on MAMP uses port 8889, MAMP users will want to uncomment
         * the following line and set the port accordingly
         */
        //'port' => 'non_standard_port_number',
  // 下記で説明
        'username' => 'root',
        'password' => '',
        'database' => 'relation_sample',
        'log' => true,
        'url' => env('DATABASE_URL', null),
    ],
 ],

5行目の’port’は、XAMPPのMySQLのポートを変更している場合のみ記載してください。

13~15行ではデータベースへ接続するための情報を書いています。

デフォルトだと’username’がmy_app、’password’がsecret、’database’が’my_app’となっていますが、データベースのデフォルトのユーザー名はroot、パスワードが空白なため上記のように設定します。

‘database’では先ほど「データベース作成」で作成したデータベースの名前を入力します。

上記のように編集が終わりましたら、ファイルを保存してもう一度http://localhost/relation_sample/にアクセスしてみてください。

今度は下記画像のように「CakePHP is able to connect the database.」と表示されたはずです。

cakephp_db_connected

おわり

ここまで読んでくださり、ありがとうございました。

本記事の通り作業しても上手くいかなかった場合は、CakePHPのバージョンが違うか、XAMPPのMySQLを起動しているか等確認してみてください。

一応今回のプロジェクトのソースコードを貼っておきます。

ソースコード

もっと良い方法があるなどありましたら、優しく教えていただけると嬉しく思います。

次回はCakePHPの、入れ子データベースについて書きます!

↓興味がありましたらチェックしてみてください!

入れ子データベースの作成 【初心者】CakePHP3の入れ子データベースの作成

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA