前回は、testというダミーのプロジェクトを作りながらCakePHPをインストールした。hirotaka-hachiya.hatenablog.com
今回は、次のブックマークチュートリアルに沿って、CakePHPを用いたPHPシステムの開発をしてみる。
http://book.cakephp.org/3.0/ja/quickstart.html#id2
まず、プロジェクト「bookmarker」を作成する。
> php composer.phar create-project --prefer-dist cakephp/app bookmarker
次にphpmyadminを用いて「cake_bookmarks」データベースを作成する。
次に、cake_bookmarksデータベースにて、phpmyadminを用いて下記のテーブルを作成する。
具体的には、cake_bookmarksを選択し、「SQL」タブを選択し、下記のSQL文をコピペし、「実行」する。
CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, email VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL, created DATETIME, modified DATETIME ); CREATE TABLE bookmarks ( id INT AUTO_INCREMENT PRIMARY KEY, user_id INT NOT NULL, title VARCHAR(50), description TEXT, url TEXT, created DATETIME, modified DATETIME, FOREIGN KEY user_key (user_id) REFERENCES users(id) ); CREATE TABLE tags ( id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255), created DATETIME, modified DATETIME, UNIQUE KEY (title) ); CREATE TABLE bookmarks_tags ( bookmark_id INT NOT NULL, tag_id INT NOT NULL, PRIMARY KEY (bookmark_id, tag_id), FOREIGN KEY tag_key(tag_id) REFERENCES tags(id), FOREIGN KEY bookmark_key(bookmark_id) REFERENCES bookmarks(id) );
下記のように、bookmarks、bookmarks_tags、tagsおよびusersの4つのテーブルが作成されていることを確認する。
さらに、phpmyadminにて、「ユーザ」タブから「ユーザを追加する」をクリックし、
ユーザ「cakephp」を追加する。
次に、作成したデータベースを、cakePHPから参照できるように、「bookmarker/config/app.php」
の「Datasources」の「username」、「password」および「database」を編集する。
'Datasources' => [ 'default' => [ 'username' => 'cakephp', 'password' => 'phpmyadminで設定したパスワード', 'database' => 'cake_bookmarks',
そして、「./bookmarker/bin/cake server」を実行し、ブラウザで「http://localhost:8765/」にアクセスし、次のようにデータベースが利用可能になっていることを確認する。
次に、以下のコマンドを実行し、アプリの簡単な骨格を作る。
>./bookmarker/bin/cake bake all users >./bookmarker/bin/cake bake all bookmarks >./bookmarker/bin/cake bake all tags