2011-02-01 3 views
0

전자 메일/암호 조합이 올바른지 확인하기 위해 데이터베이스에 액세스하는 codeigniter에 내 인증 라이브러리가 있습니다.라이브러리에서 내 모델을 사용해야합니까?

MVC 연습을 계속하는 경우 데이터베이스와 상호 작용하는 함수를 모델로 이동해야합니까? 아니면 앞으로 사용할 수 있도록 그대로 두는 것이 가장 좋습니다.

라이브러리에 다시 작성하고 내 모델에서 함수를 작성해야한다는 것 이외에는 별다른 차이가 없지만 그렇다면 그렇게해야합니다.

답변

1

일반적으로 데이터 처리 및 데이터베이스 쿼리 수행과 관련된 모든 기능을 모델에 포함시키는 것이 일반적입니다. 다른 개발자는 다른 방법을 가지고 있지만 MVC 모델을 깨뜨리고 컨트롤러에 데이터베이스 코드를 넣지 않아야한다고 생각합니다. 당신이 나는 바늘과 건초 더미를 수용 할 수있는 GET 사용자 기능이 내 모델에서 볼 수 있듯이 https://github.com/Vheissu/WolfAuth-for-Codeigniter-2.0-

:

나 자신이 포크와도/사용을 기여하는 사람을 위해 WolfAuth를라는 인증 라이브러리를 개발했습니다 값. 그래서 저는 ID로 사용자를 얻거나 다른 모델을 호출하는 대신 다른 매개 변수를 사용하여이 모델 함수를 호출하여 사용자를 로깅하기 위해 라이브러리에 다양한 함수를 작성할 수 있습니다.

WolfAuth에서 모든 함수가 다른 값을 가진 get_users 모델 함수를 호출한다는 것을 알 수 있습니다. 별도의 함수를 작성하는 대신 데이터의 여러 부분을 검색 할 수있는 하나의 함수를 사용하는 것이 한 함수가 6 함수가 수행 할 수있는 모든 작업을 수행 할 수있을 때 6 함수를 사용하는 것보다 훨씬 깔끔한 방법이라고 생각합니다.

질문에 대답하려면 : 모델에서 데이터베이스와 상호 작용하는 함수를 작성하지만 라이브러리에서 모델 함수를 호출하고 그 값을 반환하는 동일한 함수를 유지하십시오.

또한 코드 조각을 가져 와서 내 인증 라이브러리에서 아이디어를 빌려 내고 코드를 사용하면 코드를 더 잘 이해하는 데 도움이됩니다.

+0

나는 메소드 이름을 동일하게 유지하는 것에 대해 조금 좋아한다. 감사 :) –

관련 문제