수색…


비고

이 절에서는 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 디렉토리 는 애플리케이션의 공개 문서 루트입니다. 그것은 공개적으로 접근 할 수있는 모든 파일을 포함합니다.

tmplogs 폴더가 존재하고 쓰기 가능한지 확인하십시오. 그렇지 않으면 응용 프로그램의 성능이 심각하게 영향을받습니다. 디버그 모드에서, 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는 몇 가지 메인 폴더를 가지고 있습니다.

  1. 응용 프로그램 - 우리의 응용 프로그램 소스 코드를 포함하고, 우리의 모든 코드는이 디렉토리에 있습니다.
  2. lib - 이것은 cakephp core liberary로, 모든 기본 cakephp 라이브러리 코드를 포함합니다. cakephp 라이브러리를 업그레이드하는 동안 오류가 발생할 수 있으므로이 디렉토리 안의 코드를 수정하는 것은 권장되지 않습니다.
  3. plugins - 여기에는 우리 응용 프로그램에 사용될 cakephp 플러그인 코드가 들어 있습니다.
  4. 공급 업체 - 여기에는 외부 코드가 포함되어 있습니다.이 코드는 cakephp 라이브러리를 사용하지 않습니다.
  5. index.php - 이것은 색인 파일입니다.

우리는 하나의 프로젝트 안에서 여러 어플리케이션을 호스팅 할 수 있습니다. 즉 그들은 동일한 lib 폴더, 플러그인 및 공급 업체를 사용할 수 있습니다.

lib 코드를 수정하려면 응용 프로그램 폴더에서 확장하고 수정을 수행하는 것이 가장 좋습니다.

플러그인 및 공급 업체 폴더는 동일한 디렉토리에 호스팅 된 모든 응용 프로그램에서 공유합니다.

index.php는 먼저 호출되는 파일입니다.

여기에 이미지 설명을 입력하십시오.

이제 앱 폴더로 이동해야합니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow