초보자를 위한 CakePHP 튜토리얼: CakePHP 프레임워크란 무엇인가요?

CakePHP 튜토리얼 요약

이 CakePHP 튜토리얼에서는 모든 기본 개념을 처음부터 배우게 됩니다. 이 튜토리얼은 CakePHP 정의, 히스토리, 기능, 폴더 구조 및 구성, 그리고 CakePHP 프레임워크가 작동하는 방식에 대한 간략한 세부 정보를 다룹니다.

CakePHP란 무엇인가요?

CakePHP PHP로 구축된 웹 애플리케이션의 빠른 개발 및 유지 관리를 위한 오픈소스 프레임워크입니다. MVC 아키텍처의 개념을 기반으로 하며, 적은 코드로 PHP 웹 애플리케이션을 쉽고 간단하게 구축하는 데 도움이 됩니다. CakePHP는 또한 비즈니스 로직을 데이터 계층과 프레젠테이션 계층에서 분리하는 데 도움이 됩니다.

CakePHP 프레임워크를 사용하는 이유는 무엇입니까?

CakePHP 프레임워크 사용의 주요 이점/장점은 다음과 같습니다.

  • Cake PHP는 단연코 가장 빠른 웹 개발 플랫폼 중 하나입니다.
  • CakePHP를 사용하면 개발자는 데이터베이스 및 SQL 쿼리에 대한 향상된 제어권을 얻을 수 있습니다.
  • 이는 사용자가 환경 유연성을 빠르게 잃지 않고 강력한 웹 애플리케이션을 개발하는 데 도움이 됩니다.
  • 지원 PostgreSQL, SQLite, MySQL, 데이터베이스 추상화 라이브러리인 ADODB용 PEAR-DB.
  • 검색 엔진 친화적인 URL을 촉진합니다.
  • 앱을 안전하게 만드는 입력 유효성 검사 및 정리 도구와 같은 기능을 제공합니다.
  • 익숙한 PHP 구문을 사용한 템플릿

CakePHP의 역사

이제 이 CakePHP 튜토리얼에서는 CakePHP 프레임워크의 역사를 다룰 것입니다:

출간연도 연혁
2005 CakePHP는 Michal Tatarynowicz에 의해 15년 2005월 XNUMX일에 개발되었습니다.
2005 CakePHP는 MIT 라이선스에 따라 이를 게시하고 커뮤니티 개발자들에게 공개했습니다.
2005 Larry E Masters가 수석 개발자를 맡았습니다.
2006 버전 1.0이 출시되었습니다.
2011 버전 2이 출시되었습니다.
2014 이전 버전을 완전히 폐지한 버전 3이 출시되었습니다.
2016 버전 3.3.3. CakePHP는 많은 고급 기능을 포함하여 출시되었습니다.
2019 버전 3.7.9가 마지막으로 출시된 버전입니다.
2021 CakePHP 핵심 팀은 CakePHP 4.2.2를 즉시 사용할 수 있다고 발표했습니다.

CakePHP의 특징

CakePHP의 중요한 기능은 다음과 같습니다.

  • 활동적이고 친근한 커뮤니티
  • MVC 아키텍처
  • 기본 제공 유효성 검사
  • Apache 구성이 일부 또는 전혀 포함되지 않은 모든 웹 사이트 디렉토리에서 작동합니다.
  • 템플릿 엔진
  • 캐싱 OperaTIONS
  • 쉬운 CRUD 데이터베이스 상호 작용.
  • 내장된 검증
  • 이메일, 쿠키, 보안, 세션 및 요청과 같은 구성 요소 처리
  • 도우미 보기 JavaScript, 아약스, HTML 양식 등

CakePHP- 폴더 구조

이제 이번 CakePHP 프레임워크 튜토리얼에서는 CakePHP 폴더 구조에 대해 알아 보겠습니다.

아래는 CakePHP의 폴더 구조입니다:

폴더 상품 설명
테스트 이 폴더에는 애플리케이션에 대한 테스트 사례가 포함되어 있습니다.
TMP 임시 폴더에는 임시 데이터가 저장됩니다.
공급 업체 이 폴더는 CakePHP를 저장하는 데 도움이 되며 기타 애플리케이션 종속성이 설치됩니다.
Webroot The Webroot 공개적으로 접근할 수 있기를 원하는 모든 파일을 저장합니다.
bin 폴더에는 Cake 콘솔 실행 파일이 들어 있습니다.
로그 여기에는 로그 구성에 따라 달라지는 로그 파일이 포함되어 있습니다.
구성 config 폴더는 CakePHP가 사용하는 구성 파일을 저장합니다.
플러그인 이 폴더에는 애플리케이션용 플러그인이 포함되어 있습니다. 애플리케이션에서 사용하는 플러그인이 저장되는 곳입니다.
Src 여기에는 애플리케이션을 관리하기 위한 콘솔 작업과 명령이 포함되어 있습니다.

로케일 국제화를 위해 문자열 파일을 저장합니다.

모델 애플리케이션의 테이블, 엔터티 및 동작을 포함합니다.

CakePHP 구성

CakePHP는 기본적으로 단일 구성 파일과 함께 제공됩니다. 또한 요구 사항에 따라 수정할 수도 있습니다. 이를 위해 "config"라는 폴더가 제공됩니다.

변수 이름 상품 설명
디버그 CakePHP 디버깅 출력을 변경할 수 있습니다.
App.네임스페이스 아래에서 앱 클래스를 찾는 데 도움이 됩니다.
App.baseUrl CakePHP에서 Apache의 mod_rewrite를 사용하지 않으려면 이 키워드의 주석을 해제하세요.
앱.인코딩 이 명령을 사용하면 응용 프로그램에서 사용하는 인코딩을 정의할 수 있습니다.
앱베이스 앱이 상주하는 기본 디렉터리입니다. false인 경우 자동으로 감지됩니다.
App.fullBaseUrl 적격 도메인 이름
앱.웹루트 이는 웹루트 디렉토리입니다.
App.www루트 웹 루트의 파일 경로입니다.
App.jsBaseUrl 공개 js 디렉터리의 경로입니다.
앱 경로 클래스 기반이 아닌 리소스에 대한 경로를 구성합니다.
App.cssBaseUrl 이는 웹 루트 아래의 공개 css 디렉토리에 대한 웹 경로입니다.
보안.소금 해싱에 사용되는 임의의 문자열입니다.
자산.타임스탬프 이 변수를 사용하면 적절한 도우미를 사용할 때 타임스탬프를 추가할 수 있습니다.

케이크- PHP 명명 규칙

Cake는 구성보다 관례라는 개념을 따릅니다. 명명 관례 방법을 사용하면 웹 애플리케이션의 작업을 구성할 수 있습니다. 이 방법에서는 파일 이름을 지정할 때 이름의 두 개 이상의 단어를 "_"로 구분해야 하고 클래스 이름을 지정할 때는 카멜 케이스를 사용해야 합니다.

MVC 부분은 아래 지정된 구문을 따라야 합니다.

사진이름 클래스 이름 기본 클래스 이름 위치
모델 사진이름
.php 확장자를 갖는 테이블 이름의 단수형 예: order.php
Camel 케이스의 파일 이름, 예: 주문 앱 모델 /앱/모델
제어 장치 .php 확장자를 가진 tablename_controller, 예: ordcrs_controllcr.php 테이블 이름에 Controller가 추가됩니다. 예: OrdcrsController 앱컨트롤러 /앱/컨트롤러
관측 확장자가 .ctp인 컨트롤러의 작업 이름(예: add.ctp) 수업이 없습니다. 보기 c HTML 태그 및 PHP. ' /app/vuews/컨트롤러 이름

데이터베이스 구성

CakePHP를 사용하면 데이터베이스를 다음과 같이 구성할 수 있습니다. 설정/앱.php 파일. 이는 선택에 따라 수정할 수 있는 제공된 매개변수와의 기본 연결을 제공합니다.

중요한 매개변수는 다음과 같습니다:

데이터베이스 데이터베이스 이름
포트(선택 사항)
부호화
서버에 연결하는 데 사용되는 TCP 포트 또는 Unix 소켓입니다.
시간대 설정할 서버 시간대입니다.
개요 사용할 수 있는 스키마를 지정하는 데 도움이 됩니다.
유닉스 소켓 Unix 소켓 파일을 통해 연결하기 위해 드라이버가 사용하는 데이터베이스입니다.
SSL 키 SSL 키 파일의 파일 경로입니다.
SSL_cert SSL 인증서 파일의 파일 경로입니다.
SSL_ca SSL 인증기관의 파일 경로입니다.
로그 이 용어는 쿼리 로깅을 수행하는 데 도움이 됩니다.
초기화 연결이 생성될 때마다 데이터베이스 서버로 전송되어야 하는 쿼리 목록입니다.
예약어나 특수문자를 사용하려면 true로 설정하세요.

MVC는 CakePHP에서 어떻게 작동하나요?

이제 이 CakePHP 프레임워크 튜토리얼을 통해 CakePHP에서 MVC가 어떻게 작동하는지 알아보겠습니다.

이는 웹 애플리케이션의 주요 메커니즘을 구축하는 동적 방법입니다. 모델, 뷰, 컨트롤러는 서로 분리되어 있습니다.

CakePHP의 MVC 아키텍처
CakePHP의 MVC 아키텍처

Cake PHP는 작업을 세 부분으로 나눕니다.

  • 모델: 모든 데이터베이스 상호 작용에 사용됩니다.
  • 보기: 모든 출력 및 표시에 사용됩니다.
  • 컨트롤러: 애플리케이션 흐름을 제어하는 ​​데 사용됩니다.

CakePHP에서 MVC 아키텍처를 사용하는 단계는 다음과 같습니다.

단계 1) 클라이언트 또는 사용자가 보기와 상호 작용합니다.

단계 2) 특정 이벤트의 경고 컨트롤러를 봅니다.

단계 3) 모델에 데이터베이스 요청을 보내고 컨트롤러가 모델을 업데이트합니다.

단계 4) 모델은 변경되었음을 뷰에 경고합니다.

단계 5) View는 모델 데이터를 수신하고 수신된 데이터에 따라 자체 업데이트합니다.

MVC를 사용하는 이유는 무엇입니까?

  • CakePHP MVC는 프레젠테이션 및 데이터 검색에서 비즈니스 로직을 분리하는 데 도움이 됩니다.
  • 사이트는 특정 컨트롤러로 관리할 수 있는 논리적 섹션으로 구분됩니다.
  • 애플리케이션을 테스트하고 디버깅할 때 모든 개발자는 코드에 대한 전체 세부 정보가 없어도 오류를 찾아 수정하는 데 도움을 줍니다.

CakePHP 프레임워크 사용의 단점

  • CakePHP의 문서 지원은 예상만큼 포괄적이지 않습니다.
  • CakePHP 소프트웨어를 사용하려면 개발자는 멋진 URL을 생성하기 위한 기본 경로를 업데이트해야 하는데, 이는 다른 PHP 프레임워크에 비해 훨씬 더 많은 작업입니다.
  • 다른 프레임워크와 비교하여 CakePHP 단방향 라우팅.
  • PHP 배우기 프레임워크는 쉽지 않습니다.
  • 단방향 라우팅 제공은 Ruby on Rails와 같은 프레임워크와 비교할 때 또 다른 단점입니다.

제품 개요

  • CakePHP는 PHP 앱의 개발과 유지 관리를 훨씬 쉽게 해주는 오픈 소스 프레임워크입니다.
  • CakePHP를 사용하면 개발자는 데이터베이스 및 SQL 쿼리에 대한 향상된 제어권을 얻을 수 있습니다.
  • 15년 2005월 XNUMX일 Michal Tatarynowicz에 의해 개발되었습니다.
  • MVC 아키텍처와 내장된 검증 기능은 CakePHP의 가장 중요한 기능입니다.
  • CakePHP에는 기본적으로 단일 구성 파일이 제공되므로 요구 사항에 따라 수정할 수 있습니다.
  • CakePHP의 명명 규칙 방법을 사용하면 웹 애플리케이션의 작업을 구성할 수 있습니다.
  • CakePHP를 사용하면 config/app.php 파일에서 데이터베이스를 구성할 수 있습니다.
  • Cake PHP는 MVC 작업을 세 부분으로 나눕니다.
  • 모델: 모든 데이터베이스 상호 작용에 사용됨, 보기: 모든 출력 및 표시에 사용됨, 컨트롤러: 애플리케이션 흐름을 제어하는 ​​데 사용됨
  • CakePHP에서 MVC를 사용하는 가장 큰 장점은 프레젠테이션 및 데이터 검색에서 비즈니스 로직을 분리하는 데 도움이 된다는 것입니다.
  • CakePHP의 가장 큰 단점은 CakePHP의 문서 지원이 예상만큼 포괄적이지 않다는 것입니다.