CakePHPの公式サイトにある以下の「コンテンツ管理チュートリアル」を「CakePHP3のお勉強:ブログチュートリアルを一発でBake」と同様に一発でBakeしてみました。
コンテンツ管理チュートリアル
- CMS チュートリアル – データベース作成
- CMS チュートリアル – Articles コントローラーの作成
- CMS チュートリアル – タグとユーザー
- CMS チュートリアル – 認証
- CMS チュートリアル – データベース作成
CakePHP3のコンテンツ管理チュートリアルを一発でBakeする
$ su - Password: # cd /var/www/ # composer create-project --prefer-dist cakephp/app cake_cms
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 articles (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL,
title VARCHAR(255) NOT NULL,
slug VARCHAR(191) NOT NULL,
body TEXT,
published BOOLEAN DEFAULT FALSE,
created DATETIME,
modified DATETIME,
UNIQUE KEY (slug),
FOREIGN KEY user_key (user_id) REFERENCES users(id)
) CHARSET=utf8mb4;
CREATE TABLE tags (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(191),
created DATETIME,
modified DATETIME,
UNIQUE KEY (title)
) CHARSET=utf8mb4;
CREATE TABLE articles_tags (
article_id INT NOT NULL,
tag_id INT NOT NULL,
PRIMARY KEY (article_id, tag_id),
FOREIGN KEY tag_key(tag_id) REFERENCES tags(id),
FOREIGN KEY article_key(article_id) REFERENCES articles(id)
);
INSERT INTO users (email, password, created, modified)
VALUES
('cakephp@example.com', 'secret', NOW(), NOW());
INSERT INTO articles (user_id, title, slug, body, published, created, modified)
VALUES
(1, 'First Post', 'first-post', 'This is the first post.', 1, now(), now());
# cd /var/www/cake_cms/ # nano config/app.php
- 「’username’」「’password’」「’database’」を作成したデータベースの内容に変更。
/* * CakePHP will use the default DB port based on the driver selected * MySQL on MAMP uses port 8889, MAMP users will want to uncomment * the following line and set the port accordingly */ //'port' => 'non_standard_port_number', 'username' => 'my_app', 'password' => 'secret', 'database' => 'my_app',
# cd /etc/nginx/conf.d/ # nano default.conf (または https.conf)
# systemctl restart nginx.service
# cd /var/www/cake_cms # bin/cake bake all users # bin/cake bake all articles # bin/cake bake all tags
# nano config/routes.php
- $routes->connect(…)の記述を以下に変更。
// コメントアウト //$routes->connect('/', ['controller' => 'Pages', 'action' => 'display', 'home']); $routes->connect('/', ['controller' => 'Users', 'action' => 'index']);
# systemctl restart nginx.service


コメント