这个问题可以引发宗教战争。由于您不是在问编码或编程问题,因此无法用事实来回答,只能用意见来回答。
根据我的经验,Symfony作为一个框架一直做得很好,遵循 MVC 架构。与任何框架一样,使用 Symfony 开发站点需要比使用 CMS 更多的承诺和更多的编程。
我看到你想要一个预览选项。虽然您可以使用 Symfony 自己完成此操作,但您可能希望利用Drupal中的该功能,使用它的工作流模块。当然,使用 Drupal 的角色,您可以使某些页面(或页面类型)无法修改。
有很多方法可以实现您的要求。你做的研究越多,你就越不可能不得不回溯和重写东西。
更新:
学习 Symfony 的最佳资源可在Symfony.com上找到。访问文档部分。“ The Book ”是 All Things Symfony 的通用资源,我相信它是您能找到的最权威和最完整的资源。** 我觉得它清晰且写得很好。“ The Cookbook ” 包含特定类型应用程序的示例和策略,一旦您对 Symfony 使用得心应手,它就会更加有用。
**当您从 Symfony.com 选择书籍时,在页面右侧,您会看到一个选择框,上面写着“2.0 版本”。虽然 2.0 是 Symfony 的最新“版本”,但您可能希望将其更改为“主版本”,其中将包含对即将包含在即将发布的 2.1 版本中的功能的引用。Symfony 的发布往往与以前的版本有很大的不同,所以在你完成项目时为将要“发布”的东西进行开发会很好。
每本书都可以下载为PDF。Sensio Labs(Symfony 的创建者)的所有书籍均在 Creative Commons 下获得许可。
至于附加软件,Sensio 已经发布了许多附加软件(在 Symfony 中称为“捆绑软件”)。这些都记录在同一个站点上,但是第三方捆绑包(其中有很多)通常由其作者提供文档。您可以在http://knpbundles.com/找到一个开源包库。
至于 Drupal,我必须承认,这些天我在 Drupal 中实现的东西比 Symfony 更多。通过使用drush的命令行管理,保持最新状态非常容易,并且 Drupal 软件和模块维护人员在 IRC(在 FreeNode 上)中很友好且易于找到。Drupal 拥有大量的在线文档。实际上,这可能有点令人生畏,但事情往往井井有条。Drupal 上已经出版了许多书籍,可能会在http://drupal.org/books上列出……但我还没有准备好,所以我无法提出具体的建议。
在不了解您的要求的情况下,我只能推荐 Drupal 和 Symfony。:)