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
コメント