macにCakePHPの新プロジェクトを作成する手順

CakePHPの新しいプロジェクトをインストールして、開発環境を構築するための手順をまとめました。

【環境】
Cake PHP 3.8
PHP 7.4.27
Homebrew 3.3.9
Composer 2.0.8

目次

CakePHPを導入するために必要なもの

Cake PHPの導入のために、あらかじめインストールしておくことが必要なものは下記の通り。

  • Xcode
  • Homebrew
  • PHP
  • MySQL
  • Composer

上記のインストール・設定方法についてまとめていきます。

Xcodeのインストール

Xcode

https://developer.apple.com/jp/xcode/

Xcodeは、iPhoneアプリやmacデスクトップアプリの開発ツールです。

CakePHPの開発には直接関係ありませんが、CakePHPをインストールするときに使うHomebrewのセットアップのために必要です。

Xcodeの検索結果

macのApp Storeで「Xcode」と検索し、「入手」ボタンをクリックしてインストールしてください。

Xcodeは6GB程度の重いアプリなので、通信環境のよいところでインストールすることを推奨します

Homebrewのインストール

Homebrew

https://brew.sh/index_ja

Homebrewはパッケージの管理ツールで、Cake PHPが必要とするPHPやMySQLのインストールに使用されます。

念のため、インストールされているかバージョン表示で確かめておくとよいです。
ターミナルで以下を入力してEnterしてください。

$ brew -v

下記のようにバージョンが表示されたらインストール済みです。

Homebrew 2.5.11
Homebrew/homebrew-core (git revision 6b215; last commit 2020-11-21)
Homebrew/homebrew-cask (git revision 1874d; last commit 2020-11-21)

もしインストールされていた場合は、念のためアップデートを行っておきましょう。

$ brew update
$ brew upgrade

逆にバージョンが表示されなかった場合は、Homebrewのインストール作業を行います。

$ /bin/bash -c "$(curl -fsSL <https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh>)"

上記インストールコードは変更になる可能性があります。
最新版は公式HPにて確認してください。
https://brew.sh/index_ja

PHPのインストール

PHP

PHPは基本的にPCにはインストールされているはずですが、念のためターミナルでバージョン確認をしておきます。

$ php -v

下記の通りバージョン情報が表示されたらOK。

PHP 7.3.20 (cli) (built: Jul  9 2020 23:50:54) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.20, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.20, Copyright (c) 1999-2018, by Zend Technologies

万が一、バージョン情報が表示されない場合はPHPがインストールされていないので、Homebrewを使ってインストールしておいてください。

$ brew install php@7.4

MySQLのインストール

MySQL

次に、PHPがデータベースとして利用するMySQLをHomebrew経由でインストールします。

ただしこちらも最初にMySQLがすでにインストール済みでないか、念のためバージョン表示で確認しておくとよいです。

$ mysql --version

インストールされていれば、下記のようにバージョンが表示されます。

mysql  Ver 14.14 Distrib 5.7.29, for osx10.15 (x86_64) using  EditLine wrapper

バージョンが表示されなければ、Homebrewを使ってMySQLをインストールします。

$ brew install mysql

Composerのインストール

Composer

続いて、PHPのためのライブラリ管理ツールComposerをインストールします。

Cake PHP 本体を Composerを使ってインストールするほか、システム内で使用するライブラリの一括管理も担うので必須ツールです。

最初にバージョン表示を行い、インストール済みか確認しましょう。

$ composer -v

下記のようにバージョンが表示されたらOK。

______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \\/ __ `__ \\/ __ \\/ __ \\/ ___/ _ \\/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\\____/\\____/_/ /_/ /_/ .___/\\____/____/\\___/_/
                    /_/

Composer version 2.0.8 2020-12-03 17:20:38

その場合は、念のためアップデートを行うとよい。

$ composer update

バージョンが表示されない場合は、Homebrew を使ってインストールしてください。

$ brew install composer

ComposerはインストールされているだけだとPATHが通っていない可能性があるので、下記コマンドにてComposerを実行できるようにしておく必要があります。

$ cd ~/bin
$ mv composer.phar ~/bin/composer

Cake PHP本体のインストール

最後に、ターミナルを使ってCake PHPをインストールする予定のディレクトリへ移動してください。

$ cd XXXXXX

下記コマンドにてプロジェクトファイルを作成します。

$ composer create-project --prefer-dist cakephp/app:3.8 プロジェクト名

最後の「プロジェクト名」の部分は好きな名前に変更してください。

処理の途中で、下記のようにパーミッション設定をどうするか聞かれるので、Yを入力して進んでOK。

Set Folder Permissions ? (Default to Y) [Y,n]?

次に、念のためインストールされたCake PHP本体が起動できるか確認していきます。

まず今作成したプロジェクトのディレクトリに移動します。

$ cd プロジェクト名

ビルトイン・サーバーを起動させてください。

$ bin/cake server

するとターミナル上に下記のようなサーバー情報が表示されるはずです。

Welcome to CakePHP v3.8.13 Console
---------------------------------------------------------------
App : src
Path: /Applications/MAMP/htdocs/careerchart/src/
DocumentRoot: /Applications/MAMP/htdocs/careerchart/webroot
Ini Path: 
---------------------------------------------------------------
built-in server is running in <http://localhost:8765/>
You can exit with `CTRL-C`

http://localhost:8765/ がサイトのトップページURLになるので、ブラウザでアクセスしてみてください。

下記のようにCake PHPの案内画面が表示されれば正常にインストールできたことになります。

CakePHPのトップ画面

ただしデータベースがまだ接続できていないので、いったんターミナル側で「Control + C」を入力してサーバーを終了させておいてください。

データベースを作成して接続

最後にCakePHPが利用するデータベースを用意して接続します。

はじめてMySQLにアクセスする場合や、MySQLサーバーが立ち上がっていない場合は最初に立ち上げておいてください。

$ mysql.server start

ターミナルからMySQLにroot権限でアクセスします。

$ mysql -u root

次にデータベースを作成してください。

mysql> CREATE DATABASE データベース名;

データベース名は自由に決めてください。

次に作成したデータベースにアクセスするためのアカウントを作成します。

mysql> CREATE USER 'user_name'@'localhost' IDENTIFIED BY 'password';

上記のuser_namepasswordは、好きなものに書き換えてください。

その後、作成したアカウントが作成したデータベースを操作できるように権限を付与する必要があります。

mysql> GRANT all ON careerchart.* TO 'user_name'@'localhost' IDENTIFIED BY 'password';

こちらもuser_namepasswordは作成したアカウントの内容で置き換えてくださいね。

権限付与できたらrootアカウントからログアウトします。

mysql> exit;

環境設定ファイル .env の作成

環境に依存する設定値を管理する.envファイルに、データベースへの接続情報を記載します。

configディレクトリにある.env.defaultファイルを.envに名称変更してください。

.envには以下のように記述します。

export DB_HOST="localhost"
export DB_USERNAME="MySQLで作成したユーザー名"
export DB_PASSWORD="MySQLで作成したユーザーのパスワード"
export DB_DATABASE="データベース名"

ホスト名、ユーザー名、パスワード、データベース名は適宜書き換えてください。

最後に、ここで設定した環境変数が使えるようにするために、configディレクトリにあるbootstrap.phpから下記の部分を探してコメントアウトを外してください。

if (!env('APP_NAME') && file_exists(CONFIG . '.env')) {
    $dotenv = new \josegonzalez\Dotenv\Loader([CONFIG . '.env']);
    $dotenv->parse()
        ->putenv()
        ->toEnv()
        ->toServer();
}

おそらく57行目あたりにあるはずです。

プロジェクト内でデータベースへの接続情報を追記

データベースとの接続情報はconfig/app.phpにて記述します。

254行目あたりに下記のような記述があるはずです。

'Datasources' => [
    'default' => [
        'className' => Connection::class,
        'driver' => Mysql::class,
        'persistent' => false,
        'host' => 'localhost',
        /*
            * 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' => 'my_app',
        'password' => 'secret',
        'database' => 'my_app',

先ほど.envに記述したアクセス情報を呼び出すには、env('XXXXXX')にて可能です。

そこで下記のように書き換えます。

'Datasources' => [
    'default' => [
        'className' => Connection::class,
        'driver' => Mysql::class,
        'persistent' => false,
        'host' => env('DB_HOST'),
        /*
            * 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' => env('DB_USERNAME'),
        'password' => env('DB_PASSWORD'),
        'database' => env('DB_DATABASE'),

これでデータベースに接続されます。

データベースへの接続完了通知

このように表示されたらOKです。

まとめ

CakePHPの開発環境を構築するには、下記の手順で行います。

  1. Homebrew、Composerなどの必要なものをインストール
  2. Composer経由でCakephp本体をダウンロード
  3. データベースを用意
  4. .envファイルを用いて、データベースに接続するための設定を追記

手順が多いのでわからなくなりそうですが一つずつ確認していけば環境は構築できるので、この記事を参考に環境構築をしていってくださいね。

この記事が気に入ったら
いいね または フォローしてね!

SHARE

コメント

コメントする

目次
閉じる