今日は、halekeさんのスペースをお借りして作業をしました。うちは子供が小さいので、妨害されることも「一緒に遊ぼう!」と誘惑されることもなく集中できていいです。遊んであげたいけど、そうは言っていられない。がんばらないと!
ということで引き続き、Cloud9でCakePHP3の開発環境を作っていく手順をメモっていきます。
※注意書きというか、お断り事項になりますが、Cloud9とか初耳な方も見に来る可能性を考慮して、少し補足的な記載をしていこうと思います。そのため、長文になったり、読みづらくなるかもしれませんがご容赦ください。
前回書けばよかったのですが・・・
大昔と違って今やプログラミングは、無料で開発環境を整えられ、気軽にプログラミングができるようになったのですが、いざ用意しようとすると、IDE(統合開発環境)のインストールから始まり、XAMPPなどのWEBサーバ兼DBサーバの実行環境の構築と、それだけでも一日休みが潰れてしまいます。そこまでしても、自宅PCだとメモリ不足で重たくて・・・なんてことも。
それを考えると、Cloud9のようなクラウドのIDEはとても手軽にプログラミング環境が用意できるので自主学習には特に便利でありがたいツールです。なんせ、Chromebookのような安くて非力なCPUのマシンでも、バリバリプログラミングできるんですから素晴らしいツールです。
さて、本題。前回の続きとして、mysqlの環境を確認します。
※前回の記事はこちら
1.データベースの環境確認
➀ まず、phpMyAdminを再起動します。
ターミナルで以下のコマンドを実行。続いて、「Run Project」ボタンを押す。
$ mysql-ctl start
➁ 自分のphpMyAdminにアクセスして、ログインを実行。
https://プロジェクト名−ユーザID.c9users.io/phpmyadmin
➂ユーザの確認
ホーム>ユーザと遷移して登録済みのユーザを確認すると、
自分のCloud9のユーザIDと同じIDが登録されていることが確認できます。
➃DBサーバのIPアドレス
PHPからDBへアクセスする際にDBサーバのIPアドレスが必要ですが、
クラウドなのでDBサーバのアドレスはどうなるの?と私のように迷う方もいるかと思います。
PHPからは、「localhost」でアクセス可能です。
2.cakePHPのインストール
いよいよ本題のcakePHPのインストールです。
➀ Composerのインストール
先に、Composerをインストールします。ターミナルで次のコマンドを実行。
$ curl -s https://getcomposer.org/installer | php
➁cakePHP3.2のインストール
ターミナルで次のコマンドを実行します。コマンド一番後ろには、これから作成するcakePHPアプリのプロジェクト名を入力。
$ php composer.phar create-project --prefer-dist cakephp/app 作成したいプロジェクトの名前
例えば、「myapp」という名前のプロジェクトを作りたいのであれば
php composer.phar create-project --prefer-dist cakephp/app myapp
と入力すればOK。
しばらく待つとターミナルに以下のメッセージ(フォルダのパーミッションは設定するか?)が表示されるので「Y」を押す。
Set Folder Permissions ? (Default to Y) [Y,n]?
ここまででの操作で、ワークスペースの指定フォルダ(上の例だとmyappフォルダ)の下にcakePHPのスケルトンが作成されます。
➂ブラウザから確認する
私と同じようにドットインストールを見ながらCloud9でcakePHPを試している方は注意が必要です。
ドットインストールの操作とは違い、簡易サーバを立ち上げる必要はありません。ブラウザから以下のURLへアクセス。
https://ワークスペース名−ユーザID.c9users.io/プロジェクト名
例えば、Cloud9でワークスペースを「myworkspace」、Cloud9のユーザIDが「user1」、
cakePHPインストール時に「myapp」というプロジェクト名にした場合、
https://myworkspace-user1.c9users.io/myapp となります。
「Get the Ovens Ready」と書かれたページが表示されればOK。
3.cakePHPのデータベース設定
➀ configフォルダのapp.phpを開き、データベース設定を記載する
プロジェクトフォルダ\configにあるapp.phpファイルを開き、「Datasources」という文字列を検索。
(私の場合217行目にありましたが、その時点のバージョンにより数行の変動があると思います。)
そこから12行程度下までスクロールさせると ’username’ => という記載が見つかるのでそこから下を修正。
- ‘username’ => 自分のDBユーザ名
- ‘password’ => パスワード
- ‘database’ => データベース名
- ‘timezone’ => ‘+09:00’,
➁bootstrup.phpも修正する
同じフォルダにあるbootstrup.phpを開き、「timezone」と記載された行を文字列検索する。
date_default_timezone_set(‘UTC’);
と記載されいますので、UTCをAsia/Tokyoに変更。
date_default_timezone_set(‘Asia/Tokyo’);
➂ブラウザから確認
cakePHPインストール直後にアクセスした先に再度アクセス。
https://ワークスペース名−ユーザID.c9users.io/プロジェクト名
画面を下へスクロールさせて、「Database」と書かれたところに
CakePHP is able to connect to the database. と表示されていれば接続成功。
もしも、「CakePHP is NOT able to connect to the database.」となっていたらまだつながっていません。
app.phpに記載したID、パスワードあたりをよく確認してください。
4.bakeコマンドによるソース生成
➀ bakeコマンドでMVCのソースを自動生成
事前にテーブルを作り、そのテーブル名をbakeコマンドの一番後ろに指定します。
$ bin/cake bake all テーブル名
➁ ブラウザによる確認
以下のURLへアクセスすると、テーブルのデータ一覧が表示されます。
https://ワークスペース名−ユーザID.c9users.io/プロジェクト名/テーブル名
ワークスペース「myworkspace」、ユーザIDが「user1」、プロジェクト「myapp」、テーブルが「posts」という名前だった場合
https://myworkspace-user1.c9users.io/myapp/posts となります。
これで一通りの設定は完了です。
ここまでできたら、後はバリバリと開発するだけです。お疲れ様でした。