2015-02-06 4 views
1

우리 조직을위한 새로운 인트라넷을 계획 중입니다. 일부는 CMS와 유사하며 사용자 정의 응용 프로그램이 있습니다.Symfony2 CMF와 표준 배포판을 혼합 할 수 있습니까?

인포넷의 CMS 부분을 구축하는 데는 Symfony2 CMF 배포판이 좋지만 Doctrine, "일반"SQL 데이터베이스 등 다른 부분은 인트라넷 용 맞춤형 응용 프로그램에 적합합니다.

이 인트라넷 (Active Directory에 대한)에 대해 공통적 인 권한 부여 및 인증 시스템이 필요하기 때문에 모든 응용 프로그램을 빌드 할 때 더 나은 결과를 얻을 수 있습니다. 그렇다면 CMF 애플리케이션을 일반 애플리케이션과 혼합하여 둘 다 동일한 데이터베이스 (Oracle DB)를 사용할 수 있습니까?

답변

1

프로그래밍에서 거의 모든 것이 가능합니다. 그러나 CMF와 함께 제공되는 제한 사항 (예 : 라우팅)에 대해 생각해보십시오. Standard Symfony with Sonata를 고려해야할까요? 저는 CMS 페이지가 여러분 시스템의 작은 부분 일 뿐이며 표준 symfony에서의 구현은 전체 프로젝트의 최소 부분 (그리고 비용)을 차지할 것이라고 생각합니다.

+0

무슨 의미인가요? 나는 CMF가 부과하는 라우팅의 제한 사항을 알지 못합니다. CMS 라우터와 구성된 라우팅을 모두 사용할 수있는 체인 라우터가 있습니다. 그러나 CMS 페이지를 관리하기 위해 소나타를 사용하는 것이 좋습니다. – dbu

+0

CMS와 CMF를 혼동하지 마십시오. CMF는 사용자 시스템 (CMS)보다는 개발 도구 (CMF) 인 전체 메타 시스템입니다. Symfony CMF에서 사용되는 BTW 라우팅은 표준보다 더 유연하고 강력합니다. – forsberg

4

예 CMF를 다른 번들과 쉽게 혼합 할 수 있습니다. 예를 들어, 라우팅은 CMF의 경로와 yml 파일에 정의 된 "정적"경로를 모두 사용할 수 있습니다. PHPCR ODM 옆에 ORM을 쉽게 추가 할 수도 있습니다. PHPCR에 저장하기 위해 Doctrine DBAL을 사용한다면, ORM 등과 같은 연결 설정을 재사용 할 수도 있습니다.

+1

이 안내서는 Symfony Standard Edition에서 CMF 번들을 설정하는 방법을 설명합니다. http://symfony.com/doc/master/cmf/cookbook/editions/cmf_core.html – dbu

+0

오라클에 관한 : jackalope-doctrine-dbal은 아직 오라클에서 테스트되었습니다. xml 쿼리를 작동 시키려면 몇 가지 작업이 필요할 수 있습니다. 또는 CMS 페이지에서 Java Jackrabbit 서버를 실행하기 만하면됩니다. 또는 SimpleCmsBundle의 ORM 매핑을 살펴볼 수도 있습니다. 관련 프로젝트에 github 문제를 열어 추가 논의하거나 https://groups.google.com/forum/#!forum/symfony-cmf-devs 메일 링리스트를 사용하십시오. – dbu

2

간단히 말하면 이고, 저는 이것을 Symfony2 프로젝트에서 직접합니다. SF-SE와 SF-CMF 번들을 모두 결합했습니다. SF 내가 다른 어떤 솔루션으로 마이그레이션 할 계획이없는 이유는 매우 분리 된 프레임 워크이며 그것은 (이것은 가장 적합한 번들 선택의 문제는 매우 간단합니다 Symfony2와 사실

, 순간),하지만 그 일을하면서 내 경험을 공유하고 싶습니다. 실제로 "세계"를 결합하는 방법을 결정하기 위해 생각해 보는 가장 중요한 질문은 다음과 같습니다.

작곡가.

몇 가지 질문을 한 후 Symfony CMF는 Symfony SE를 기반으로하며 그 반대의 경우가 아니라는 사실을 알았습니다. 가장 핵심적인 기능이 포함되어 있기 때문에 후자로 시작하는 것이 좋습니다. 반대 방향으로도 권장 됨). 그래서 SF-SE의 작곡가를 데려가십시오 .json, 필요로하는 번들을 살펴본 후 SF-CMF 작곡가의 차이점을 살펴보십시오 .json. 가장 적합한 묶음으로 끝내야합니다. 이 번들에서

기본 기능은 룩업 할 수는 다음과 같습니다

  • 모델 - 교리 ORM, PHPCR-ODM, 또는 둘 다 - 확실하지 아직도 경우, 코멘트를 주저하지 않는다 , 나는 여기에 나의 경험을 공유 할 것이다.
  • ROUTING - 여기서 가장 중요한 질문은 유연한 라우팅이 실제로 필요한지 여부입니다. 확실하지 않은 경우 표준 SF 라우터로 이동 한 다음 예를 들어 대체 할 수 있습니다. 아직 개발 단계에있을 때.
  • Out-of-The-Box CMS 기능 - CreateBundle, MenuBundle 또는 MediaBundle과 같은 번들은 놀라 울 정도로 빠르지 만 매우 유연한 솔루션을 구축하는 데 도움이 될 수 있습니다. 일반적으로, 나는 그들 대부분을 사용하지 않고 끝났다. 사용한다면, 나는 자신의 Bundles에서 구현하는 인터페이스를 주로 취한다 (가능한 다른 번들과의 호환성을 보장하기 위해).

이 위의 게다가, 좀 번들은 자신의 기능을 조정, 협력, 또는 단순히 물건을 분리 할 수 ​​있도록 Bridge Design PatternProvider Design Pattern 솔루션의 숫자를 만들었습니다.