LoginSignup
2
1

More than 3 years have passed since last update.

MAMPでCakePHPを使う(2021年版)

Posted at

会社の研修がきっかけでPHPを学習し始め、推奨されたフレームワークがCakePHPだった。CakePHPはMVCモデルを採用しているウェブアプリケーションフレームワークであり、Ruby on Railsの概念が取り入れられているらしい。

CakePHPについてググってみるだけでは不明点多しだったため、メルカリで「CakePHP超入門」という本を購入し早速ハンズオンしてみた。CakePHP用のDockerのimageを持っていたが、本に倣いcomposerを使った環境構築をした。だが三年前に出版された本ということもあり動かなかった点もあったため、備忘録ということで環境構築までの流れをまとめた。

環境

  • macOS Big Sur: 11.2.3
  • MAMP: 6.3
  • PHP: 7.4.12
  • CakePHP: 4.2.5

MAMPのインストール

MAMP PROでない無料のMAMPをインストール。

composerのコマンドをターミナルで入力

ターミナルでディレクトリ位置をDesktopに移動。composerホームページでトップページ→Download内にコマンドが公開されているので入力。するとDesktopにcomposer.pharというファイルが作成される。

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

ターミナルが見ているPHPの確認

$ which php

ターミナルが見ているPHPはMacBook本体に入っているものか、MAMPのPHPかの確認。MAMPを起動し上記のコマンドを打つと、おそらく

/usr/bin/php

という結果が返ってくる。この結果をMAMPのPHPにする必要があるのでパスの指定が必要。

ちなみに…

/usr/bin/php の状態でこの先進むと

  Problem 1
    - cakephp/cakephp[4.2.0, ..., 4.2.5] require ext-intl * -> it is missing from your system. Install or enable PHP's intl extension.
    - Root composer.json requires cakephp/cakephp ~4.2.0 -> satisfiable by cakephp/cakephp[4.2.0, ..., 4.2.5].

後のコマンドでintl extensionがないという上記の警告が表示されてしまい動作がおかしくなる。(自分も悩みました)

MAMPのPHPのパスの指定

$ vi ~/.bashrc

$ export PATH=/Applications/MAMP/bin/php/php7.4.12/bin:$PATH
// :wq で保存

$ source ~/.bashrc
// 変更の反映

ターミナルで上記コマンドを実行することによってMAMPのPHPのパスが通ります。この設定後に $ which php の実行で

/Applications/MAMP/bin/php/php7.4.12/bin/php

通りましたね!

CakePHPのコマンド実行!

composer.pharがDesktopにある状態かつディレクトリ位置もDesktopの状態で

php composer.phar create-project --prefer-dist cakephp/app アプリの名前

を実行し、permissionの確認でyを押すと、「アプリの名前」ディレクトリがDesktopに生成されました! その中にはbinやsrcなど多数入っています。そのディレクトリを丸ごと user/Applications/MAMP/htdocs 内に移動させ、ブラウザ環境で

http://localhost:8888/アプリの名前/

にアクセスすると、

Screen Shot 2021-04-26 at 23.03.04 (2).png

環境構築完了しました! この画面がCakePHPのHello World! のようなものです。Databaseはまだ触っていないのでアイコンが赤くなっています。(Databaseの設定をすればアイコンが緑になる)

参考文献

【CakePHP3系/MAMP】ComposerでCakePHP3系をインストール実行時、「Your requirements could not be resolved to an installable set of packages.」と怒られた時の解決方法
viの基本的な使い方
viで文字を削除するコマンド【色々な方法まとめました】

2
1
0

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
1