CakePHP Cookbook 북마크 자습서의 절차 요약

5875 단어 CakePHPcakephp3
※Qiita에는 첫 투고입니다, 잘 부탁드립니다.

CakePHP의 학습을 위해 「CakePHP Cookbook 북마크 튜토리얼」을 해 보았으므로, 그 때의 순서를 정리했습니다.
구축하는 환경에 따라서는, 에러등이 발생해 튜토리얼대로에 가지 않을 경우도 있으므로, 같은 곳에서 빠진 사람의 도움이 되면 다행입니다.

■CakePHP Cookbook 북마크 튜토리얼
htp // 보오 k. 곱셈 php. rg/3.0/그럼/개별 ls-안 d-에ぁmpぇs/보오 k마 rks/인 t로. HTML

0. 전제 환경



- 로컬 터미널 환경에서 수행 (MacBook Pro OS X El Capitan 버전 10.11.6)
- 웹 서버와 데이터베이스는 MAMP를 사용했다 (MAMP3.5, PHP 7.0)

1. 사전 준비



1-1.PHP 버전 확인



PHP 5.5.9 이상이어야 한다.
php -v

1-2.MAMP htdocs 아래에 작업용 폴더 만들기



폴더명은 임의. 이번에는 'cookbook'이었다.
mkdir cookbook

1-3. 작업용 폴더로 이동


cd cookbook

2.CakePHP 취득



2-1. composer 설치



10초 정도 기다린다.
curl -s https://getcomposer.org/installer | php

2-2.cakePHP 프로젝트 만들기



프로젝트 이름은 "bookmarker". 1분 정도 기다린다.
php composer.phar create-project --prefer-dist cakephp/app bookmarker

3. 설치 확인



3-1.MAMP 시작



3-2. 브라우저에서 프로젝트에 액세스할 수 있는지 확인



※브라우저 접속시에 에러가 표시되었을 경우
・MAMP를 일단 정지한다
・아래의 블로그 기사를 참고로 「php.intl」을 추가 인스톨 한다

■ CakePHP3 Composer로 설치하면 autoload.php를 읽을 수없는 오류가 발생했습니다.
h tp // 하테나 bぉg. 코m/엔트리/2015/11/03/150934brew install homebrew/php/php70-intl
· MAMP 재부팅


[프로젝트의 톱 화면]


[현시점에서는 데이터베이스를 작성하고 있지 않기 때문에, 이 항목은 바트표시로 문제 없다]

4. 데이터베이스 생성



4-1.MAMP phpMyAdmin 시작



4-2. 새 데이터베이스 만들기



데이터베이스명은 "cake_bookmarks"로 한다.


[phpMyAdmin의 데이터베이스 작성 화면]

4-3. 데이터베이스에 테이블 설정



테이블은 「users」, 「bookmarks」, 「tags」, 「bookmarks_tags」의 합계 4개.
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)
);


[SQL 문 실행 화면]


[SQL 문 결과 화면]

4-4. 테이블이 생성되었는지 확인하기




[테이블 목록]

5. 데이터베이스 설정



5-1.config/app.php 의 「Datasources.default」배열의 값을 이하와 같이 변경한다



'username' => '(데이터베이스 사용자 이름)',
'password' => '(데이터베이스 암호)',
'database' => (데이터베이스 이름: cake_bookmarks)',

5-2. 브라우저에서 프로젝트에 액세스하여 Database 항목의 오류가 사라졌는지 확인



6.Scaffold 코드 생성



6-1. 터미널에서 프로젝트 폴더로 이동


cd bookmarker

6-2. 터미널에서 다음 명령(3개)을 입력합니다.


bin/cake bake all usersbin/cake bake all bookmarksbin/cake bake all tags
※「SQLSTATE[HY000] [2002] No such file or directory」라는 에러 메세지가 표시되면, 다음의 블로그 기사를 참고로 config/app.php 의 「Datasources.default」 배열에 이하의 행을 추가한다
'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock',
■MAMP 환경에서 CakePHP의 mysql.Sock을 지정하는 방법
htp : // bg. 10 라네. 이 m/2013/02/04/마 mp 걸어 php mysql/


[삽입 개소]

6-3. 브라우저에서 프로젝트에 액세스하여 동작 확인




[프로젝트 실행 화면]

(계속)

좋은 웹페이지 즐겨찾기