2010-04-20 5 views
3

엄지 손가락의 규칙이 모델에 무엇인지 궁금했습니다. 일반적으로 개체의 데이터베이스 항목을 추가/편집하거나 업데이트해야하는 경우에만 사용합니다.일반 규칙 - 모델 (Codeigniter)을 사용할시기

그러나 앱의 특정 기능을 표시 할 때를 제어하는 ​​마지막 업데이트와 같은 다양한 데이터를 보유하는 "구성"테이블이있는 순간에 앱을 작성하고 있습니다. 이 경우, 대부분 config 테이블에서 데이터를 검색해야합니다. 이 config 메소드를 모델에 넣는 것이 가치가 있습니까?

경험이 많은 코더가 CI - 예제 의사 메소드 (예 : 모델 및 컨트롤러에서 사용하는 것과 동일한 객체와 관련된 메소드)에서 MVC 방법론에 접근하는 방법에 대해 알고 싶습니다.

답변

7

"이 구성 방법을 모델에 적용 할 가치가 있습니까?"

예, 구성 설정 테이블을 처리하는 모든 컨트롤러에 동일한 getter 및 setter를 쓰지 못하게하려는 경우에만 가능합니다. getter와 setter를 한번 (이상적으로는 MY_Model에서 일반적인 방식으로) 작성하고 복잡한 쿼리를 모델에 한 번 작성한 다음 원하는만큼 많은 라이브러리, 컨트롤러 또는 뷰에서 호출하십시오.

모델을 사용하면 구현이 아닌 인터페이스에 코딩 할 수 있습니다.

의미 컨트롤러가 데이터를 저장하는 방법에 대해 불가지론 할 수 있다는 점에서 컨트롤러에서 모델을 추상화하는 이점이 있습니다. 모델 메소드가 컨트롤러가 예상하는 형식으로 일관되게 결과를 제공하는 한 데이터베이스에서 xml로 ini 파일로 데이터를 전환하기로 결정할 수 있습니다. 즉, 데이터 소스를 전환 할 때 모델의 내부 메소드 만 업데이트하고 컨트롤러는 업데이트하지 않아도됩니다.

마지막으로 MVC 규칙에 따라 뷰가 모델에서 직접 데이터를 요청할 수 있습니다. 이를 위해 기본 config_item() 공통 함수가 작동하는 것과 같은 방식으로 모델을 사용하여 구성 설정을 검색하는보기에서 사용하기 위해 CodeIgniter 도우미를 작성할 수 있습니다.

1

CSS를 HTML 추상화, 재사용 용이성 및 더 가독하고 읽기 쉬운 코드와 구분하는 것과 같은 이유로 M을 V & C와 분리합니다.

다른 MVC 플랫폼에서는 선택의 여지가 없습니다. 단지 당신이 일 수 있기 때문에은 (CI에서) 방법론을 무시한다고해서 이어야합니다.

관련 문제