나는이 점에 대해 명확히하고 싶다. 나는 codeigniter를 사용하고있다.Codeigniter의 객체 지향 체계
웹 응용 프로그램을 빌드 할 때 codeigniter에서 OOP 디자인의 더 나은/적절한/표준/가장 높이 평가되는 방식은 무엇입니까?
일반적으로,
I. 사용자와 같은 사용자 정의 클래스를 생성하고 로그인 기능이?처럼,
class User{
var $db, $id, $username, $password, $role; //have all user attributes here
function __construct() {
//instance for accessing the database
$this->db =& get_instance();
}
public function login(){
//do the login here
$this->db->load->model('user_model');
$success = $this->db->user_model->login($this->username, $this->password);
//isn't this redundant using models? or should I rename the model function name like checkLogin?
return $success;
}
//other class functions
}
또는
II
. 사용자 개체를 만들지 않고 컨트롤러에서 모델의 로그인 함수를 직접 호출합니까? 반응식 1에서O_O
, 나는 모델 만 데이터베이스에 조회 할 수있게하고있다. 또한 'User'객체를 'Client', 'Admin'과 같이 상속 받아 각 객체에 특정 함수를 추가 할 수 있습니다. CI 컨트롤러가 레이아웃에 초점을 맞추고 뷰에 변수를 전달하게하는 이점이 있습니다. 뷰의 용도는 주로 (확실하지는 않지만) 내 사용자 정의 클래스/객체가 웹 응용 프로그램에서 작업을 처리하도록합니다. BUT 모델에서 다른 로그인 기능을 호출 한 로그인 기능에 중복이 느껴집니다. 이거 좋은가요?
스킴 2에서 내 컨트롤러가 login, register 또는 log를 생성하고 입력 게시물을 받고 뷰에 변수를 전달하는 것과 같은 모든 작업을 처리하도록하는 것이 적절합니까?
정말 가이드가 필요합니다. 내 OO 기술이 커질 필요가 있습니다.
정말 고마워요!
답장을 보내 주셔서 감사합니다[email protected] painkiller, 네, 이미 PhpActiveRecord를 사용하여 데이터베이스를 제 모델에 매핑합니다. 나는 화롯불에서 이렇게하고있다. – ruelluna