とある平凡な人の日記

自分のインプットのためのブログです。日記は「日記」カテゴリにあります。あとはおススメ書籍やメモ的用途に。

CakePHP

CakePHPについて

会社で最初に研修したのがこのフレームワークでした。

CakePHPって美味しそうな名前しておいて、何なんだろうと思いますよね。

Ruby On Railsと同じ「あるプログラミング言語で作ったプログラムを楽に制作するソフト」です。

要は「お前のプログラミングの手間を省いてやるから、俺を使いな!」というのがフレームワークです。

 

何でこのページを作ったの?

CakePHPの本を色々読んだのですが、わかりにくかったからです。(すいません)

あとは研修内容を後で読み返すためにまとめただけです。

 

実務で使用できるように理解したいんだよォ!

ということで、忘備録ということで制作しました。

何か間違えていることもありますので、100%信用してはいけません。

PHPが理解できるという前提で進行しています。

 

今回はメールフォームを制作します。

自分でも理解できるようになったらブログなどの制作もしたいと思います。

CakePHPの細かいことについては、使い方などを調べればたくさん出るので割愛します。

 

  1. CakePHPの準備
  2. htdocsに入れる
  3. localhostにアクセスする
  4. 初期設定の変更
  5. データベースの設定をする

 

1.CakePHPの準備

 

公式サイトでダウンロード。

英語でずらーっと並んでますが、画像の通りに行けば問題ナッシングです。

すると、下のような画像になるので、赤丸で囲まれてる部分をクリックして、ダウンロードを開始します。

 

今回は2.8.4ヴァージョンを使いましたが、仕事でどれを使うかはわかりません。
(一番新しいバージョンは使い方が違ったのでやめました)
 

2.htdocsに入れる

XAMPPのhdocsにフォルダを入れます。

使い方の記事を見ると、皆「cake」とか入れてますが、好きな名前でいいです。

例えば、ブログとしてCakePHPを使うなら「blog」とかでもいいですし。

そこはお任せします。

ここではおなじみの[cake]でいきます。

 

3.localhostにアクセスする

f:id:sakamoto-m:20160511050620j:plain

そうすると、画像のような画面が表示されます。

これから設定をしていきます。

まずは赤いエラーを無くしていきます。

 

4.初期設定の変更

APP/Config/core.phpというファイルの「Security.salt」と「Security.cipherSeed」の初期値を変えます。

(管理者でなくても管理画面などへアクセスできてしまうということを防ぐためです)

適当に文字を打ち込めばよいのですがこちら(http://henkan.jp/cakephp/salt)のサイトを使うと自動で生成してくれます。

設定すると、下のような画像になります。

 

f:id:sakamoto-m:20160511051249j:plain

次は黄色いエラーを無くします。

Your database configuration file is NOT present.
Rename APP/Config/database.php.default to APP/Config/database.php
データベースが存在しませんと言っています。
ご親切に「database.php.default」を「database.php」に変更してください。
と書いてあるので、実行します。
そうすると、以下のようになります。

f:id:sakamoto-m:20160511051555j:plain


5.データベースの設定をする。

CakePHP is NOT able to connect to the database.

Database connection "Mysql" is missing, or could not be created.

 

データベースに接続できませんと言っているので、app/Config/database.phpの設定をします。

 f:id:sakamoto-m:20160511052945j:plain

 $testの方は、テスト用なのでいじらなくても大丈夫です。

いじるのは$defaultの方です。

 

'login' = データベースのID

'password' = データベースのパスワード

'database' = データベースの名前

 

※データベースに登録するときに文字化けしてしまうため、最後の'encoding'の//を消しておきましょう。

 

すると、以下の画像のようになります。

 

f:id:sakamoto-m:20160511052410j:plain

  

最後の黄色いエラーは直さなくても直しても、どちらでも構いません。

入れる方法はこちらのサイト(http://net-vacation.com/blog/archives/7021

)に書いてあるので、よろしくお願いいたします。