다른 유형의 미디어를 나타낼 수있는 Medium
이라는 클래스가 있다고 가정 해 보겠습니다. 예를 들어 :데이터베이스에서 클래스 상수 (비트 마스크로 사용) 저장 중입니까?
- 업로드 한 동영상
- 포함 된 비디오
- 업로드 된 이미지
- 삽입 영상
I는 다음과 같이 contants 이러한 유형의 표현 :
class MediumAbstract
{
const UPLOAD = 0x0001;
const EMBED = 0x0010;
const VIDEO = 0x0100;
const IMAGE = 0x1000;
const VIDEO_UPLOAD = 0x0101; // for convenience
const VIDEO_EMBED = 0x0110; // for convenience
const IMAGE_UPLOAD = 0x1001; // for convenience
const IMAGE_EMBED = 0x1010; // for convenience
const ALL = 0x1111; // for convenience
}
따라서 , 결합 된 검색을하기가 쉽습니다. 같은과 (추상) 저장소에 그들에 채널 :
{
public function findAllByType($type)
{
...
}
}
$media = $repo->findAllByType(MediumAbstract::VIDEO | MediumAbstract::IMAGE_UPLOAD);
// or
$media = $repo->findAllByType(MediumAbstract::ALL);
// etc..
어떻게 데이터베이스와 같은 콘크리트 저장소에 이러한 상수 값을 사용하여에 대해 어떻게 생각하세요? 괜찮 니? 또는 데이터베이스에서 의미있는 데이터로 대체해야합니까?
Table medium:
| id | type | location | etc..
-------------------------------------------------
| 1 | use constants here? | /some/path | etc..
(물론 난 단지 의미있는 상수 사용됩니다 : VIDEO_UPLOAD, VIDEO_EMBED, IMAGE_UPLOAD 및 IMAGE_EMBED) MySQL의에서
정말 커뮤니티 위키에 관한 질문이 아닙니다. –
+1 Pekka. 커뮤니티 위키는 나를 대답하지 못하게합니다. 나는 질문에 답하는 것을 괴롭히는 평판 포인트를 얻는 것을 좋아합니다. –
나는 일종의 주관적인 질문을한다. 그러나 나는 그것을 바꿀 것입니다 ... 그리고 지역 사회가 그것에 대해 어떻게 느끼는지보십시오. :) –