CakePHP Cookbook 북마크 자습서의 절차 요약
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 users
bin/cake bake all bookmarks
bin/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. 브라우저에서 프로젝트에 액세스하여 동작 확인
[프로젝트 실행 화면]
(계속)
Reference
이 문제에 관하여(CakePHP Cookbook 북마크 자습서의 절차 요약), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tsuyoshioshima/items/0b438d5da3c3e40895de
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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 users
bin/cake bake all bookmarks
bin/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. 브라우저에서 프로젝트에 액세스하여 동작 확인
[프로젝트 실행 화면]
(계속)
Reference
이 문제에 관하여(CakePHP Cookbook 북마크 자습서의 절차 요약), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tsuyoshioshima/items/0b438d5da3c3e40895de
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
3-1.MAMP 시작
3-2. 브라우저에서 프로젝트에 액세스할 수 있는지 확인
※브라우저 접속시에 에러가 표시되었을 경우
・MAMP를 일단 정지한다
・아래의 블로그 기사를 참고로 「php.intl」을 추가 인스톨 한다
■ CakePHP3 Composer로 설치하면 autoload.php를 읽을 수없는 오류가 발생했습니다.
h tp // 하테나 bぉg. 코m/엔트리/2015/11/03/150934
brew 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 users
bin/cake bake all bookmarks
bin/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. 브라우저에서 프로젝트에 액세스하여 동작 확인
[프로젝트 실행 화면]
(계속)
Reference
이 문제에 관하여(CakePHP Cookbook 북마크 자습서의 절차 요약), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tsuyoshioshima/items/0b438d5da3c3e40895de
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
id INT AUTO_INCREMENT PRIMARY KEY,
email VARCHAR(255) NOT NULL,
password VARCHAR(255) NOT NULL,
created DATETIME,
modified DATETIME
);
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)
);
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255),
created DATETIME,
modified DATETIME,
UNIQUE KEY (title)
);
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)
);
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 users
bin/cake bake all bookmarks
bin/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. 브라우저에서 프로젝트에 액세스하여 동작 확인
[프로젝트 실행 화면]
(계속)
Reference
이 문제에 관하여(CakePHP Cookbook 북마크 자습서의 절차 요약), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tsuyoshioshima/items/0b438d5da3c3e40895de
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(CakePHP Cookbook 북마크 자습서의 절차 요약), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tsuyoshioshima/items/0b438d5da3c3e40895de텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)