在Ruby中有像中间人一样的PHP吗?

时间:2012-01-19 21:44:35

标签: php ruby zend-framework middleman

我和一个带着Middleman领导我们的伙伴一直参与一个项目。我们在HAML和SASS编码,他显然是Ruby Dev。我想知道PHP是否有任何类型的等价物?我最终将领导一个团队,我对PHP比Ruby更舒服。

我想要一个布局文件(比如Zend的布局文件) 我想...在一个命令中,将所有源文件从PHP转换为静态HTML,并将这些静态文件放在“build”文件夹中,以便我们将其交给客户端。

任何人都知道有一些很酷的事情可以实现这一目标吗?非常感谢!

3 个答案:

答案 0 :(得分:4)

我工作的一个项目,www.findbigmail.com,完全用PHP编写,然后我为一个不同的项目做了一些Ruby / Rails工作,回到PHP是一个磨难。使用HAMLSCSS和其他奇妙的东西,比如CSS和JS缩小,哦和Compass来构建精灵,回到PHP并再次使用嵌入式HTML等PHP文件再次工作是痛苦的。 / p>

所以,在纯粹的懒惰的驱使下,我环顾四周,找到了MiddleManApp(MM) - 经过几次旅行后。

现在我们在MM建立的一个主要是静态的html网站之间有一个非常强大的分离,一些PHP文件被POST到然后重定向回到html页面。在我们需要更多动态行为的地方,我们已经在页面中添加了javascript,并让它们围绕我们预先存在的代码调用PHP API包装器。

我们的网站性能大幅提升( doh,现在它的所有静态HTML ),当下一个MiddleMan版本推出其改进的缓存破坏功能时,它准备再次跳跃Rails 3.1资产管道。例如。我们将能够在我们的源脚本中引用main.css(它本身由像_index.scss_pricing.scss这样的子scss文件组成,并且它将使用{{{{ 1}} - 允许我们将服务器设置为缓存一年和/或将更多文件部署到CDN。

我们的工程业绩也在上升。我们不再不愿意触摸UI代码,因为担心会在PHP代码中引入语法错误。并没有更多不匹配的HTML标签导致悲伤。另一个PHP开发人员不熟悉Ruby / Rails派生的工具链,但很快就变得精通了(虽然他是一个摇滚明星开发人员,所以这并不太令人惊讶!)

即将推出i18n支持。其中大部分已经在MM中,希望Javascript支持 实即将现在

我们还研究了从HAML生成页面并添加了PHP。我们认为它可能很简单 - 例如将“:php”标记添加到HAML管道,然后根据需要使用.php部分。但是,我们发现在Javascript和将现有PHP代码包装为“引擎API”之间,我们能够将代码库整齐地分开 - 我们发现我们更喜欢整体。

我希望这有帮助!很高兴解释更多。

答案 1 :(得分:2)

有一个叫做Piecrust的PHP。

我最终选择了Middleman作为捆绑的coffeescript,sass等,但Piecrust做得很好。

http://bolt80.com/piecrust/

答案 2 :(得分:0)

PHP可以很容易地从PHP代码中呈现静态HTML:

Easiest way to convert a PHP page to static HTML page

Generate HTML Static Pages from Dynamic Php Pages

PHP - How to programmatically bake out static HTML file?

您可以使用Twig等现有模板系统连接某些内容,或使用PHP Markdown或多或少模仿Middleman正在做的事情,并从源文件创建静态HTML页面。

编辑:正如上面提到的Hari K T,http://www.phrozn.info/en/就是这样做的。