문제

다음과 같은 기존 엔티티 모델에서 교리를 사용할 수 있습니까?

class user{
protected $_id;
protected $_name;

public function set_id($_id){}
public function get_id(){}
public function set_name($_name){}
public function get_name(){}
}

또는 하드 코딩 된 게터 및 세터로 모델을 생성하거나 사용합니다.

나는 사용하고 싶지 않다

$user->name
$user['name'] 
$user->get('name')

이것은 교리로 할 수 있습니까?

고맙습니다

도움이 되었습니까?

해결책

교리 1.2까지 모든 버전의 경우 : Entity Models 클래스는 Doctrine_record 클래스를 확장해야합니다.

모델 필드의 정의는 "교리 방식"도 수행해야합니다. 보다: http://www.doctrine-project.org/documentation/manual/1_2/en/defining-models

예시:

공개 함수 settabledefinition () {

   $this->hasColumn('username', 'string', 255);
   $this->hasColumn('password', 'string', 255);

}

자신만의 사용자 정의 하드 코드 세트/getter를 사용하려면 Magic Getters/Setters를 무시할 수 있습니다. 보다: http://www.doctrine-project.org/documentation/manual/1_2/en/introduction-to-models예시:

클래스 사용자 확장 baseuser {

public function setPassword($password)
{
    return $this->_set('password', md5($password));
} 

}

마지막 언급/질문 : Magic Setter/Getter 메소드를 사용하는 것은 좋은 방법입니다. 어떤 방식으로 데이터를 조작 해야하는 경우에만 사용자 정의 방법 만 사용해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top