>  기사  >  백엔드 개발  >  cakephp 첫 번째 cakephp 항목 기본 사항

cakephp 첫 번째 cakephp 항목 기본 사항

WBOY
WBOY원래의
2016-07-29 08:47:59771검색

 初品cakephp 入门基础
먼저 cakephp의 실행 과정을 살펴보겠습니다(Baidu Encyclopedia에서 가져온 그림).
1: 먼저 서버가 재작성을 지원하는 가상 호스트인 경우 재작성을 지원해야 합니다. 재작성을 지원하지 않습니다. cakephp가 정상적으로 실행될 수 없습니다.
2: 모든 요청을 cakephp 프레임워크로 보낸 다음 프레임워크의 경로를 입력하세요. cakephp에는 기본 배포 규칙 세트가 함께 제공됩니다(예: http://.../test/test, 경로 구성 없음) 이 경우 cakephp는 test_controller 컨트롤러에서 테스트 메소드를 자동으로 실행합니다.
라우트를 구성하여 실행하려는 컨트롤러와 메소드에 모든 요청을 전달할 수 있습니다. 구성은 다음과 같습니다(app/config/routes.php):

복사 code 코드는 다음과 같습니다.


Router::connect('/pages/*', array('controller' => 'test', 'action' = > 'index'));


3: 요청이 컨트롤러에 들어간 후 cakephp는 컨트롤러 이름에 따라 기본 모델을 로드합니다. 예: TestController는 모델 아래에 test.php 파일을 자동으로 로드한 후 다음 메서드를 통해 모델의 메서드를 호출할 수 있습니다.

코드 복사 코드는 다음과 같습니다.


$this->test->find('all') ;


cakephp 프레임워크의 컨트롤러 기본 클래스 소스 코드 보기(cakelibscontrollercontroller.php의 __mergeVars 메서드에서)

코드 복사 코드는 다음과 같습니다.


if ($this->uses !== null && $this->uses !== false) {
$merge[] = '사용';
}
foreach ($merge as $var) {
if (isset($appVars[$var]) && !empty($appVars[$var]) && is_array($this ->{$var})) {
if ($var !== 'uses') {
$normal = Set::normalize($this->{$var})
$app = 설정::normalize($appVars [$var])
if ($app !== $normal) {
$this->{$var} = 설정::merge($app , $normal);
}
} else {
$this->{$var} = array_merge($this->{$var}, array_diff($appVars[$var], $ this->{$var})) ;
}
}
}


cakephp가 컨트롤러를 구성할 때, presents 배열의 모든 모델이 인스턴스화됩니다.
4, 5, 6: 컨트롤러와 모델이 직접 비즈니스 로직을 처리하는 프로세스입니다. Cakephp의 모델이 AppModel에서 상속된다는 점에 주목할 필요가 있습니다. 기본적으로 데이터베이스의 테이블과 연결됩니다. 별로 기분이 좋지 않습니다. 모델은 단지 데이터베이스의 작업 계층일 뿐입니다.
7: 비즈니스 처리가 완료된 후 최종 데이터를 HTML로 통합하여 브라우저에 출력해야 합니다. cakephp의 뷰에는 레이아웃 파일, 요소 파일 및 템플릿 파일이 포함되어 있습니다. 이 파일은 버전 1.3에서 ctp 접미사를 채택합니다. 컨트롤러 기본 클래스에서 var $ext = '.ctp'를 수정하여 템플릿의 접미사를 변경할 수 있습니다. 파일.
요약: cakephp 프레임워크는 사용하기에 유연성이 부족하고 모델 레이어에는 한계가 있습니다. 뷰 파일에 사용된 구문은 PHP이므로 팀 개발 시 작업 분리에 편리하지 않습니다. Cakephp는 소규모 프로젝트에서 매우 뛰어난 성능을 발휘하며 프레임워크에서 제공하는 스캐폴딩, 핵심 구성 요소 및 일부 클래스를 사용하여 프로젝트를 빠르고 쉽게 빌드할 수 있습니다. 나는 cakephp를 처음 접했기 때문에 내 이해가 편향될 수 있습니다.

위 내용은 cakephp의 내용을 포함하여 cakephp의 첫 번째 버전인 cakephp를 시작하기 위한 기본 사항을 소개한 것입니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.