CakePHP2.1.1安定版メモ

最近PHPを触り始め、CakePHPを入れました。

参考

CakePHPで高速Webアプリ開発
第5回 CakePHPで作るToDoアプリ(1)
を参考にやってみましたが、5年も前の記事で、CakePHPのバージョンが違うために動かなかったり・・・。
ということで、上記記事に対するメモです。

環境

前提

DBの設計と作成

参照先にあるコードをコピーしてphpMyAdminSQLタブを選んでペースト・実行すると、データベースが作成されます。

「dumpが以下になります」なんて言われても初心者にはどうしていいかわからないんですよね。

app/config/database.phpの書き換え

class DATABASE_CONFIG {
var $default = array(
'datasource' => 'Database/Mysql',
'driver' => 'mysql',
'connect' => 'mysql_connect',
'host' => 'localhost',
'login' => 'ここにDBのユーザー名',
'password' => 'ここにDBのパスワード',
'encoding' => 'utf8',
'database' => 'todo',
'prefix' => '',
);

}

'login'と'password'は書き換えてください。

コントローラの作成

参照先のコードでは動きません。
以下の部分を変更しました。

$this->set('tasks', $this->Task->findAll(null, null, 'Task.created ASC'));

$this->set('tasks', $this->Task->find('all',null, null, 'Task.created ASC'));

また、ファイル名を「コントローラ名_controller.php」と説明していますが、これでは動きませんでした。
「TasksController.php」としました。いつからか、アンダースコアが不要になったようです。
また、コントローラを入れるフォルダも「controllers」と説明されていますが、現在は「Controller」になっています。

モデル作成前に実行してみる

http://localhost/todo/tasksにアクセスしてみました。
説明では「モデルがない」と言われるよ!と書いていますが、「ビューがないよ」と言われました。
モデルはいらないのかな?

モデルの作成

いらなさそうなんですが、一応作成しました。
http://localhost/todo/tasksにアクセスしても変化なし。

ビューの作成

コードはそのままコピペでいいんですが、ファイル名が違います。
C:\xampp\htdocs\todo\app\View\tasks\index.ctpとして保存します。

http://localhost/todo/tasksにアクセスするとこのようになりました。
一応完成です。ただし、ほとんど理解できていない・・・。