PHP 학습자로서 저는 좀 더 작은 PHP CMS를 실험 해 왔습니다. ' 내가 사용했던 모든 CMS '는 데이터베이스 추상화 레이어를 사용합니다.거의 모든 CMS에 데이터베이스 추상화가 있다고 말하는 것이 맞습니까?
나는 이것이 모든 PHP CMS의 특징 일 것이라고 가정하여 정확합니까?
감사합니다.
PHP 학습자로서 저는 좀 더 작은 PHP CMS를 실험 해 왔습니다. ' 내가 사용했던 모든 CMS '는 데이터베이스 추상화 레이어를 사용합니다.거의 모든 CMS에 데이터베이스 추상화가 있다고 말하는 것이 맞습니까?
나는 이것이 모든 PHP CMS의 특징 일 것이라고 가정하여 정확합니까?
감사합니다.
본질적으로 CMS의 특징은 콘텐츠를 디스플레이와 구분한다는 것입니다. 그 콘텐츠를 저장하는 곳이나 방법은 임의적입니다. 데이터 저장소에 연결하기위한 메커니즘도 중요하지 않습니다. "전통적인"데이터베이스라고 생각할 수있는 것은 공통적이지만 반드시 필요한 것은 아닙니다. 데이터 백업은 텍스트 파일, XML, SimpleDb 또는 Google App Engine 등의 데이터베이스입니다.
나는 그렇게 말하지 않을 것이고, Wikipedia도 나에게 동의하는 것처럼 보인다.
분명히하기 위해, 나는 증거가 플랫 파일 기반 CMS의 목록이라고 생각한다. –
흠 ... 아래 표가 무엇인지 궁금하네요? –
"사실상 모든 CMS"에 대한 해석은 제 생각과 다릅니다. = P –
가 나는 가장 CMS라고하는 것이 안전하다고 생각 사용하기 '를 사용하여 A DAL,하지만 아마 당신이의하지 않습니다 들어 본 적이없는 일부 원격 거기에 하나, 그래서 나는 주장 할 것이다 모든 CMS가' 하나.
예, 동의합니다. 2 개의 주요 PHP CMS 라이브러리 (Drupal과 Joomla)는 각각 데이터베이스 추상화 형태 인 although Drupal's is pretty slim을 가지고 있습니다. Joomla looks like it might have a little more to it than Drupal.
** 두 개의 주요 ** CMS가 DAL을 사용하지 않았다면 정말 이상 할 것입니다 ... –
음, 모든 (또는 대부분의) 자동차에는 4 개의 바퀴가 있습니다. 그러나 그것은 5 휠러가 자동차가 될 수 없다는 것을 의미하지는 않습니다.
CMS에 데이터 추상화가 있다는 것은 의미가 있지만 반드시 가져야한다는 의미는 아닙니다.
데이터베이스 추상화 계층은 다음과 같습니다. 거의 모든 웹 기반 응용 프로그램의 특징입니다.
이
은 일반적으로 우려의 분리를 달성하는 데 사용됩니다 http://en.wikipedia.org/wiki/Separation_of_concerns을 정말. 이는 훌륭한 소프트웨어 설계의 특징입니다. 경험 법칙은 "구현이 아닌 인터페이스에 프로그램"입니다.
나는 좋은 db 레이어를 사용하고 마음의 뒤쪽으로 그 좌절감을 푸는 것이 좋습니다. 훌륭한 소프트웨어 설계는 규율을 필요로합니다!
일부 디자인 패턴과 원칙을 읽고 싶을 수도 있습니다. 나중에 많은 문제를 해결할 수 있습니다 : http://en.wikipedia.org/wiki/Design_pattern
학습에 좋은 행운을 빕니다!
고마워요. 이 시점에서 db 추상화는 나에게 실망스럽게 보였고, 나는 그것을 사용하지 않는 더 작은 CMS를 찾을 수있을 거라 생각했다. – dave