0

我正在为我的下一个项目选择框架,但遇到了一个棘手的问题:如何在服务器端 PHP 和客户端 Javascript 之间共享模板?

在服务器上,我的应用程序将使用 PHP 编写,使用 Symfony、Twig 和 MtHAML。作为早期的 GUI 原型,我几乎没有模板,我真的很喜欢 HAML,因为它将我的模板减半。

在客户端,我想使用 Vue.js 或 React 或类似的东西(和 jQuery 意大利面条怪物说再见)。我还没有决定在这里使用什么。我喜欢 ES6 类语法。客户端将是一组相对简单的 SPA——带有一些 JS 的老式独立页面,以使它们更具交互性。因此,客户端上不会有路由或操作浏览器历史记录,但我仍然想在这里和那里更新已经加载的页面。

因此,我需要在两个地方使用模板:PHP 中的服务器端和 Javascript 中的客户端。问题是,如何在双方共享一个模板?

我正在考虑将带有 Dust.js/php(Mustache 太笨)的 HAML 模板编译成 Javascript 或类似的方法。另一种方法是从 HAML 渲染 Vue 模板(Gitlab 会这样做),并以某种方式将它们预处理/后处理为 PHP 模板。但我相信也有很多人在处理这个问题。不幸的是,Web 上的大多数资源都已过时或非常混乱。有现成的解决方案吗?

4

1 回答 1

0

我之前解决过类似的问题,对我来说最好的解决方案是使用 Symfony 构建一个像样的 API,然后为前端构建一些 js 框架。在两个环境之间处理模板是一件非常痛苦的事情。也许你会选择不同的方法,只是我的一个建议......

于 2017-02-09T00:24:17.477 回答