sulu-standard之后:Sulu生态系统、社区支持与sulu/skeleton迁移路线图
2026/8/27 16:25:34 网站建设 项目流程

sulu-standard之后:Sulu生态系统、社区支持与sulu/skeleton迁移路线图

【免费下载链接】sulu-standardThis repository is not longer the recommended way to start a sulu project. Use:项目地址: https://gitcode.com/gh_mirrors/su/sulu-standard

sulu-standard 曾是 Sulu 内容管理框架(基于 Symfony 的开源 CMS/CMF)的标准项目骨架,如今官方 README 已明确提示:新项目请直接使用 sulu/skeleton。本文帮你快速看懂 Sulu 生态系统的现状与社区支持情况,并给出一条从 sulu-standard 迁移到 sulu/skeleton 的 5 步路线图。

📌结论先行:sulu-standard 已不再作为新项目的起点,但它仍是理解 Sulu 架构的"教科书";老项目想跟上主线,迁移到 sulu/skeleton 是最稳妥的路径。

30秒搞懂:sulu-standard 与 sulu/skeleton 的区别

对比维度sulu-standard(旧)sulu/skeleton(新)
定位完整的标准项目骨架官方推荐的新项目起点
依赖版本sulu/sulu~1.6.34、Symfony 2.8/3.0跟随 Sulu 主线持续演进
运行环境PHP 5.5+ / 7.0(见composer.json更高版本的 PHP 与 Symfony
适合场景学习架构、维护老项目启动任何新的 Sulu 项目

从目录结构看懂 Sulu 项目架构

sulu-standard 最值钱的地方,是它把 Sulu 的"双内核"结构讲得明明白白:

  • 管理后台内核app/AdminKernel.php—— 内容编辑者使用的后台
  • 前台渲染内核app/WebsiteKernel.php—— 面向访客的站点
  • 公共基类app/AbstractKernel.php,两个内核共享的装配逻辑

入口与配置也是"一套两份",对照着看一目了然:

后台(Admin)前台(Website)
web/admin.phpweb/website.php
app/config/admin/config.ymlapp/config/website/config.yml

自定义主题放在src/Client/Bundle/WebsiteBundle/Resources/themes/default/下,模板、snippet 片段、webspace 配置(app/Resources/webspaces/sulu.io.xml.dist)都有现成示例——这些正是老项目迁移时要带走的"资产"

社区支持现状:从 CHANGELOG 看维护节奏

📊 翻看CHANGELOG.md可以读出三个关键信号:

  1. 记录停在 1.6.38(2020-11-26),此后以 bugfix 收尾,不再有新功能;
  2. 依赖锁定在sulu/sulu~1.6.34 与 Symfony 2.8/3.0,与 Sulu 主线已分道扬镳;
  3. 社区开发重心已转向 Sulu 主线与 sulu/skeleton,老项目做安全维护即可。

CONTRIBUTING.md显示项目遵循 Symfony 编码规范、欢迎 Pull Request——但请注意,贡献应指向 Sulu 主线仓库,而不是这个骨架仓库本身。

5步迁移路线图:从 sulu-standard 到 sulu/skeleton

第1步:盘点项目资产

列出旧项目里的自定义部分,迁移清单越全,后面返工越少:

  • src/Client/下自定义的 Bundle
  • 主题模板(themes/default/templates/
  • webspace 与 snippet 配置
  • 内容数据(PHP-Content Repository 中的页面 + Doctrine 中的后台数据)

第2步:搭建参考环境

想本地浏览 sulu-standard 的代码结构作为参考,可以克隆仓库:

git clone https://gitcode.com/gh_mirrors/su/sulu-standard

同时按 Sulu 官方文档,用 sulu/skeleton 初始化一个新项目作为迁移目标。

第3步:迁移自定义代码

把主题模板、snippet、webspace 配置复制到新项目对应目录;涉及 Sulu API 调用的代码,按新版本的命名空间逐一调整。UPGRADE.md里逐版本记录了破坏性变更(如接口方法改名),是很好的对照检查清单。

第4步:迁移内容与数据

  • 后台数据(用户、媒体库、联系人)通常通过数据库导出/导入迁移;
  • 页面内容存于 PHP-Content Repository,导入新环境后需逐页核对 URL 与模板渲染效果。

第5步:验证与灰度上线

  • 跑一遍tests/下的测试脚本(如tests/runtests.sh);
  • 对照旧站逐页检查前台渲染、RSS 输出(overview.rss.twig)与 sitemap;
  • 灰度切换域名、观察一周后再正式下线旧环境。

⚠️提醒:Sulu 1.x → 2.x 是跨大版本,不存在"一键升级",务必先在测试环境完成迁移,再动生产环境。

迁移FAQ

Q:旧项目还能继续用吗?A:能,但只建议做安全维护——composer.json锁定的sulu/sulu~1.6.34 不会再获得主线新功能了。

Q:必须现在迁移吗?A:不强制。但如果站点需要新版 Sulu 的能力(更现代的 PHP/Symfony 支持、新版后台体验),迁移就是必经之路。

Q:迁移最大的工作量在哪?A:自定义 Bundle 与模板的 API 适配,以及内容数据的核对——这正是第 3、4 步最花时间的地方。

总结:下一步该做什么

  • 学习架构:sulu-standard 是读懂 Sulu 双内核结构的完整范本;
  • 启动新项目:一律从 sulu/skeleton 起步,配合 Sulu 官方文档;
  • 维护老项目:按上文 5 步路线图逐步迁移,而非试图原地升级。

【免费下载链接】sulu-standardThis repository is not longer the recommended way to start a sulu project. Use:项目地址: https://gitcode.com/gh_mirrors/su/sulu-standard

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询