我和一个带着Middleman领导我们的伙伴一直参与一个项目。我们在HAML和SASS编码,他显然是Ruby Dev。我想知道PHP是否有任何类型的等价物?我最终将领导一个团队,我对PHP比Ruby更舒服。
我想要一个布局文件(比如Zend的布局文件) 我想...在一个命令中,将所有源文件从PHP转换为静态HTML,并将这些静态文件放在“build”文件夹中,以便我们将其交给客户端。
任何人都知道有一些很酷的事情可以实现这一目标吗?非常感谢!
答案 0 :(得分:4)
我工作的一个项目,www.findbigmail.com,完全用PHP编写,然后我为一个不同的项目做了一些Ruby / Rails工作,回到PHP是一个磨难。使用HAML,SCSS和其他奇妙的东西,比如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做得很好。
答案 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/就是这样做的。