그래서 저는 동료 중 한 명과 함께 프레임 워크와 같은 시스템을 만들고 있습니다. 우리의 현재 과제는 상태를 가장 잘 구현하는 방법입니다. 흔히 상태는 고유 한 데이터 (테이블 행의 색상 또는 사용자에게 표시되는 텍스트 등)와 함께 전달됩니다. 현재이 모든 데이터를 포함하는 상태 테이블이 있습니다. 해당 테이블에 포함 된 열은 "css_class"입니다. 레코드가 해당 상태 인 경우 지정된 CSS 클래스가 요소에 연결됩니다 (이 경우 tr). 또한 다른 레코드에 특정 상태를 지정하기 위해 데이터베이스 테이블에 외래 키가 지정됩니다 (이 경우 사용자는 특정 상태를 가지므로 사용자 테이블에는 statuses_id 외래 키가 있음). 이 구현은 올바르게 작동하지만 몇 가지 문제가 있습니다. 첫째, 레코드가 특정 상태에있는 경우 PHP에서 특정 작업을 수행해야하는 경우 무엇입니까? 지금 우리가하는 방식은 다음과 같습니다.MySQL 상태 모델 - 최적의 구현?
if($user->status==0)
{
//execute some code
}
상태가 변경 될 수있는 경우 실제로 작동하지 않습니다. 하나의 상태를 변경하면 관련 코드가 의도 한 것과 다르게 작동하거나 다르게 작동합니다.
다른 문제 및 질문 게시의 주된 원인은 테이블에 "css_class"열이 있다는 것입니다. 이것은 매우 다목적이며 특정 상태의 스타일을 매우 빠르게 변경할 수 있습니다. 그러나 우리는 데이터베이스 내부에 코드를 넣는 아이디어를 정말로 싫어합니다. 아마도 데이터베이스에 CSS 클래스가있는 것은 반드시 나쁜 것은 아니지만 공통된 실천이 무엇인지 모릅니다. 어떤 아이디어?
편집 : 나는 처음 몇 대한 답변에서 수집 한 어떤
은 내가 MVC 프레임 워크를 유지하기 위해 내 모델 물건을 밖으로 내보기 물건을 유지해야한다는 것입니다. 내 주장은 내가 데이터베이스에서 css_class 이름을 지우면 뷰에서 상태 ID를 확인하여 할당 할 클래스를 결정한다는 것입니다. 그래서 클래스를 데이터베이스에 넣으면 뷰 정보를 모델에 넣을 것입니다. CSS 클래스를 데이터베이스에 저장하지 않으면 View에 모델 정보를 넣고 (어떤 ID가 속해 있는지 확인). 그래서 Model을 muddying하지 않고 대신에 뷰를 muddy .......
이 아이디어에 대해 제가 정말 싫어하는 점은 우리가 (상태 == 0) ... 상태 0이 변경하기로 결정하면 유지하기가 매우 어렵습니다 – SpaDusA
당신이 직면하고있는 상황에 대한보다 구체적인 예를 게시 할 수 있다면 더 많은 응답을 할 수 있습니다. 나는 당신이 문제라고 묘사하고있는 상황을 묘사하는 데 어려움을 겪고있다. 그러나 나는 그것이 통신 문제라고 확신한다. –
그래, 뭐. 나는 함께 모범을 보려고 노력할 것이다. 감사! – SpaDusA