cakephp 튜토리얼
cakephp 시작하기
수색…
비고
이 절에서는 cakephp가 무엇인지, 그리고 왜 개발자가 그것을 사용하고 싶어하는지에 대한 개요를 제공합니다.
또한 cakephp 내의 큰 주제를 언급하고 관련 주제에 링크해야합니다. cakephp에 대한 문서가 새롭기 때문에 관련 주제의 초기 버전을 만들어야 할 수도 있습니다.
버전
| 번역 | 출시일 |
|---|---|
| 1.2.0 | 2008-12-26 |
| 1.3.0 | 2010-04-25 |
| 2.0.0 | 2011-10-17 |
| 3.0.0 | 2015-03-22 |
설치 또는 설정
요구 사항
다음의 설치 안내서는 cakephp 2.8 이상을위한 것입니다. 2.8보다 낮은 모든 cakephp 버전은 PHP 7과 호환되지 않습니다.
HTTP 서버. 예 : Apache. mod_rewrite를 사용하는 것이 좋지만 꼭 필요한 것은 아닙니다.
- PHP 5.5.9 이상 (PHP 7 포함).
- PHP 확장 mbstring
- intl PHP 확장
주의! XAMPP 및 WAMP 모두에서 기본적으로 mbstring 확장이 작동합니다. XAMPP에서 intl 확장이 포함되어 있지만 php.ini에서 extension = php_intl.dll의 주석 처리를 제거하고 XAMPP 제어판을 통해 서버를 다시 시작해야합니다. WAMP에서 intl 확장은 기본적으로 "활성화"되지만 작동하지 않습니다. C : \ wamp \ bin \ php \ php {버전}을 php 폴더로 이동해야만 작동하도록하려면 icu * .dll처럼 보이는 모든 파일을 복사하여 apache bin 디렉토리에 붙여 넣으십시오. C : \ wamp \ bin \ apache \ apache {버전} \ bin. 그런 다음 모든 서비스를 다시 시작하면됩니다.
데이터베이스 엔진이 필요하지는 않지만 대부분의 응용 프로그램이 데이터베이스 엔진을 활용할 것이라고 생각합니다. CakePHP는 다양한 데이터베이스 스토리지 엔진을 지원합니다 :
- MySQL (5.1.10 이상)
- PostgreSQL
- Microsoft SQL Server (2008 이상)
- SQLite 3
CakePHP3 폴더 구조
다운로드가 완료되면 다음 파일과 폴더가 표시됩니다.
- bin 폴더 는 Cake 콘솔 실행 파일을 저장합니다.
- config 폴더 는 CakePHP가 사용하는 설정 파일을 저장합니다. 데이터베이스 연결 세부 정보, 부트 스트랩, 핵심 구성 파일 등이 여기에 저장되어야합니다.
- plugins 폴더 는 애플리케이션이 사용하는 플러그인이 저장되는 곳입니다.
- 로그 폴더 에는 일반적으로 로그 구성에 따라 로그 파일이 들어 있습니다.
- src 폴더 는 응용 프로그램의 파일이 저장 될 폴더 입니다.
- 테스트 폴더 는 애플리케이션의 테스트 케이스를 배치하는 곳입니다.
- tmp 폴더 는 CakePHP가 임시 데이터를 저장하는 곳입니다. 저장하는 실제 데이터는 CakePHP 구성 방법에 따라 다르지만,이 폴더는 대개 모델 설명 및 세션 정보를 저장하는 데 사용됩니다.
- 공급 업체 폴더 는 CakePHP와 다른 응용 프로그램 종속성이 설치되는 폴더 입니다. 이 폴더의 파일을 편집하지 않기로 개인적인 약속을하십시오.
- Webroot 디렉토리 는 애플리케이션의 공개 문서 루트입니다. 그것은 공개적으로 접근 할 수있는 모든 파일을 포함합니다.
tmp 및 logs 폴더가 존재하고 쓰기 가능한지 확인하십시오. 그렇지 않으면 응용 프로그램의 성능이 심각하게 영향을받습니다. 디버그 모드에서, CakePHP는 그렇지 않은 경우 경고합니다.
src 폴더 내부
CakePHP의 src 폴더는 대부분의 응용 프로그램 개발을 할 곳입니다.
콘솔 폴더에는 응용 프로그램의 콘솔 명령 및 콘솔 작업이 들어 있습니다. 자세한 내용은 셸, 작업 및 콘솔 도구를 참조하십시오.
Controller 폴더에는 응용 프로그램의 컨트롤러와 해당 구성 요소가 들어 있습니다.
Locale 폴더는 국제화를위한 문자열 파일을 저장합니다.
모델 폴더에는 응용 프로그램의 테이블, 엔터티 및 동작이 포함됩니다.
뷰 - 프레젠테이션 클래스는 셀, 헬퍼 및 템플릿 파일에 배치됩니다.
템플릿 - 프리젠 테이션 파일은 요소, 오류 페이지, 레이아웃 및 뷰 템플릿 파일에 배치됩니다.
기본 첫 번째 빈 프로젝트
초기 생성 및 다운로드 (CakePHP 3.x)
(당신이 보는 작곡가 모르는 경우 새 CakePHP의 프로젝트를 만드는 가장 쉬운 방법은 작곡가 경유 여기에 대한 추가 정보를 원하시면)
작성기 설치
설치가 필요하고 Windows 머신에있는 경우이 안내서를 따르십시오.
Linux / Unix / OSX를 사용하는 경우이 가이드를 따르십시오.
첫 번째 CakePHP 프로젝트 만들기
콘솔 창을 열고 php 설치로 이동하십시오 (Windows에서 기본 xampp 설치는 C:\xampp\php 임).
빈 프로젝트를 만들려면 다음 명령을 실행하십시오.
php composer.phar create-project --prefer-dist cakephp/app name_of_your_project
베이킹 / 모델 / 뷰 / 컨트롤러
CakePHP의 마술은 기본적인 CRUD 옵션을 갖춘 컨트롤러, 모델 및 뷰 코드의 자동화 된 생성입니다.
굽기 전에 데이터베이스 연결을 구성해야합니다. 이렇게하려면 프로젝트에서 config/app.php 파일을 편집해야합니다.
'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => 'localhost',
'username' => 'my_app', //in basic xampp: root
'password' => 'sekret', //in basic xampp: ''
'database' => 'my_app', //name of the database you want to connect to your project
'encoding' => 'utf8',
'timezone' => 'UTC',
'cacheMetadata' => true,
]
],
데이터베이스가 올바르게 연결 되었다면 콘솔 창에서 프로젝트의 루트 폴더에 bin/cake bake 를 입력하십시오.
다음과 같이 출력해야합니다 :
Welcome to CakePHP v3.1.6 Console
---------------------------------------------------------------
App : src
Path: /var/www/cakephp.dev/src/
PHP: 5.5.8
---------------------------------------------------------------
The following commands can be used to generate skeleton code for your application.
Available bake commands:
- all
- behavior
- cell
- component
- controller
- fixture
- form
- helper
- mailer
- migration
- migration_snapshot
- model
- plugin
- shell
- shell-helper
- template
- test
By using `cake bake [name]` you can invoke a specific bake task.
단순화를 위해 기본 설정으로 모든 것을 굽습니다. 이렇게하려면 다음을 입력하십시오.
cake bake all
그러면 다음과 같은 내용이 출력됩니다.
Welcome to CakePHP v3.2.11 Console
---------------------------------------------------------------
App : src
Path: C:\xampp\htdocs\tipping\src\
PHP : 5.6.15
---------------------------------------------------------------
Bake All
---------------------------------------------------------------
Possible model names based on your database:
- users
- blogs
Run `cake bake all [name]` to generate skeleton files.
cake bake all <modelNameYouWantToBake> 를 실행 cake bake all <modelNameYouWantToBake> 모델, 테이블, 컨트롤러, 조명기 및 뷰 파일이 생성됩니다. 가능한 모든 모델 이름에 대해이 옵션을 실행하면 기본 CRUD 옵션이있는 작동하는 프로젝트가 있습니다.
이제 브라우저를 열고 어떻게 보이는지보고 자신의 논리로 프로젝트를 확장 할 수 있습니다
요구 사항
1-HTTP Server. For example: Apache. Having mod_rewrite is preferred, but by no means required.
2-PHP 5.5.9 or greater (including PHP 7)
3-mbstring PHP extens ion
4-intl PHP extension
나는 보통 linuxbox에 아파치와 MySQL 설치를한다. 나는 윈도우도 사용할 수 있지만 권장하지 않는다;) 그래서 나는 보통 / etc / hosts 파일에 새로운 항목을 만들어서 cakephp에 sitename을 제공한다.
127.0.0.1 localhost caketest.local
다음 단계는 모든 cakephp 파일을 / home / myusername / public_html / caketest 내의 서브 디렉토리에 복사하는 것입니다.
app
cake
index.php
plugins
README
vendors
.htaccess
그럼 내가 아파치 (neccessary)에 사이트를 설정,
<VirtualHost * : 80> DocumentRoot "/ home / myusername / public_html / caketest"ServerName caketest.local
# 이것은 프로덕션 환경에서 생략해야합니다. SetEnv APPLICATION_ENV 개발
<Directory "/home/myusername/public_html/caketest">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
아파치를 다시 시작하십시오. 당신은 또한 .htaccess 파일을 편집하고 hte 경로를 가진 RewriteBase 지시자를 실제 디렉토리에 놓아야한다.
RewriteBase /~myusername/caketest
데이터베이스를 만들고 케이크 설정 파일에 db 연결을 설정하면됩니다. 호스트를 건너 뛸 수있는 테스트 사이트 URL과 아파치 vhost 생성을 원하지 않는다면 브라우저를 http : //caketest.local로 지정할 수 있습니다.하지만 URL은 http : / localhost / ~ myusername / caketest 여야합니다.
또 다른 중요한 점은 아파치에서 userdir 모듈을 사용 가능하게하고 userdir에서도 php를 사용할 수 있는지 확인하는 것입니다.
CakePHP 2.x 기본 소개
각 폴더가 의미하는 CakePHP의 디렉토리 구조에 대해 이야기 할 것입니다.
CakePHP는 몇 가지 메인 폴더를 가지고 있습니다.
- 응용 프로그램 - 우리의 응용 프로그램 소스 코드를 포함하고, 우리의 모든 코드는이 디렉토리에 있습니다.
- lib - 이것은 cakephp core liberary로, 모든 기본 cakephp 라이브러리 코드를 포함합니다. cakephp 라이브러리를 업그레이드하는 동안 오류가 발생할 수 있으므로이 디렉토리 안의 코드를 수정하는 것은 권장되지 않습니다.
- plugins - 여기에는 우리 응용 프로그램에 사용될 cakephp 플러그인 코드가 들어 있습니다.
- 공급 업체 - 여기에는 외부 코드가 포함되어 있습니다.이 코드는 cakephp 라이브러리를 사용하지 않습니다.
- index.php - 이것은 색인 파일입니다.
우리는 하나의 프로젝트 안에서 여러 어플리케이션을 호스팅 할 수 있습니다. 즉 그들은 동일한 lib 폴더, 플러그인 및 공급 업체를 사용할 수 있습니다.
lib 코드를 수정하려면 응용 프로그램 폴더에서 확장하고 수정을 수행하는 것이 가장 좋습니다.
플러그인 및 공급 업체 폴더는 동일한 디렉토리에 호스팅 된 모든 응용 프로그램에서 공유합니다.
index.php는 먼저 호출되는 파일입니다.
