MVC 모델(CakePHP)의 기초 지식 정리

난조야에 대해
CakePHP 기반으로 조사한 것

MVC 모델 정보



프로그램의 내용(처리)을 기능별로 나누어 기술함으로써 프로그램을 정리하기 쉽게 하는 사고방식
  • 모델(Model): 표시나 입력과 관련이 없는 처리를 담당
  • 뷰(View): 표시나 입력에 관한 처리를 담당
  • 컨트롤러(Controller):뷰와 모델의 브리지 역할을 담당


  • 1. 브라우저에서 컨트롤러와 액션을 지정하고 액션을 실행합니다.
    2. 액션 내에서 모델이 지정되면 모델이 실행됩니다.
    3. 액션 처리가 끝나면 Template 폴더\컨트롤러와 같은 이름의 폴더\액션 이름과 같은 이름의 ctp 파일을 표시 대상으로 생성합니다.
    4. 브라우저로 돌아갑니다.
    ( htps : // 코 m / 츠유리 104 / ms / 72797 4c8b3 79149 )

    각 역할에 대해



    모델



    비즈니스 로직 1 담당
    Controller에서 DB 관련 작업을 받고 처리하는 사람

    ( htps : // 괜찮은 dbg. 이 m / u t_mvc도 l )

    ■ 폴더 구성
    Model
    |-Entity(Table内のソースを動かす)
    |-Table(CRUD処理や入力チェックを実装する)
    |-Validation(カスタマイズしたかったらここにいれる。自分で作る)
    

    보기



    실제로 입력이나 설정을 하는 화면을 표시
    컨트롤러에서 전달된 DB 데이터를 HTML로 표시하거나

    확장자가 ".ctp"이지만 내용은 HTML with PHP
    → 보통 HTML 파일로 편집하면 OK

    ■ 폴더 구성
    폴더 이름 주의(다른 용도로 View 폴더가 있음)
    Template
    |-Element(HTMLファイルをパーツごとに書き出すことができる)
    |-Error(エラーの時に表示する画面)
    |-Layout(全画面共通で表示したいことを設定するdefault.ctp)
    (他省略)
    

    컨트롤러



    View에서 요청을 받고 Model로 메시지로 변환
    그리고 응답으로 처리 후 화면을 View로 반환
    보통 PHP를 쓰는 곳

    명명 규칙



    파일명이나 소스내의 취급도 포함

    모델 이름



    【Table】
    (예) UsersTable.php

    · DB名 + Table .php 2
    ・선두와 Table의 "T"는 대문자
    ・파일내의 클래스명은 파일명과 같이 DB名+Table 하지만, Controller로 Table를 부를 때는 DB명만
    TableRegistry::get('Users');・Table내의 메소드는 카멜식 🐪

    【Entity】
    (예) User.php

    DB名 .php(단수형)
    · 대문자 시작

    【Validation】
    규정은 특별히 없음

    View의 이름



    (예) index.ctp

    · 소문자 시작
    · Template 부하의 명명 규칙은 동일
    ・대상 Controller.php의 액션명 3 과 같은 것을 가리킨다 ↓

    UserController.php
    class UserController extends Controller
    {
        public function index() {
            ・・・・・・
        }
    
        private function showList() {
            ・・・・・・
        }
    }
    

    이 경우 src/Template/User/ 4
    · index.ctpshow_list.ctp (여기에서는 스네이크식 🐍가 된다)
    필요하다

    private 의 액션이었을 경우는 파일 없음
    → 브라우저에서 요청했을 때의 조치 만 필요하기 때문에
    (원래 private 그렇다면 클래스 밖에서 액세스할 수 없다)

    컨트롤러 이름



    (예) UserController.php

    コントローラ名 + Controller .php
    · 선두와 Controller의 "C"는 대문자
    ・액션명은 카멜식🐫

    참고


  • MVC 모델이란 | 「알 수 있을 것」으로 「모르는」에서도 「알았다」 신경이 쓰이는 IT 용어 사전
  • CakePHP로 처음 개발할 때 조심하고 싶은 MVC~ | Qiita
  • MVC 모델에 대해 알기 쉽게 해설합니다! 【초보자 용】 | 우마로의 게임 블로그



  • 처리 된 결과를 데이터베이스에 반영하십시오.

    DB 이름 자체, 기본은 복수형이지만 단수형에서도 동작한다

    ~Controller.php 내의 메소드 (아마도) 

    템플릿/사용자 폴더 : 컨트롤러 당 폴더가 필요합니다

    좋은 웹페이지 즐겨찾기