2012-09-22 35 views
4

我目前正在開發一個PHP站點,我計劃使用Mustache PHP,這樣我就可以使用與我的PHP呈現以及我的javascript(ajax驅動的)頁面更新相同的鬍鬚模板文件。 searching around後,我無法找到一個PHP的handlebars.js等效庫,但我寧願使用一切的句柄。Ember.js與鬍子庫的兼容性

我正在決定是否使用Ember.js或Backbone.js。我知道Ember使用了句柄,並且句柄使用了它所基於的mustache.js中沒有的語法和特性。我也明白,handlebars.js與鬍子模板很好。

我傾向於Ember,並且願意分叉並更新鬍鬚PHP,以便在必要時使用Handlebars.js。

但是首先,Ember.js能夠與直鬍子模板很好地配合嗎?或者Ember的適當的槓桿作用還意味着使用只有車把支持的模板特徵?

如果我必須fork PHP庫,那麼我會首先添加哪些主要的handlebar功能呢?

在此先感謝,這將幫助我確定是否值得使用Ember.js。

回答

0

我並不需要使用灰燼但注意到在我發佈這個問題後不久,其他人開始了Handlebars parsing within PHPthis library is another approach這個項目。這些庫是我尋找的解決方案,因爲處理手柄模板時只有一個小鬍子渲染器,所以存在很多潛在的複雜問題。

1

Handlebar.js增加了一些「幫手」的鬍子名(.php/.js文件)的語法......但這些都是因爲鬍子已經做了這個非常好完全無用:

{{#each xyz}}...{{/each}} is the same as {{#xyz}}...{{/xyz}} in Mustache. 
{{#if xyz}}...{{/if}}  is the same as {{#xyz}}...{{/xyz}} in Mustache. 
{{#with xyz}}...{{/with}} is the same as {{#xyz}}...{{/xyz}} in Mustache. 

相反:

{{#unless xyz}}...{{/unless}} is the same as {{^xyz}}...{{/xyz}} in Mustache. 

Ember.js看起來非常像handlebar.js,而Backbone.js似乎爲邏輯無關的Mustache-Kind-of-rendering提供了一些輸出。

我在一些小型和大型網站上使用鬍子(php)。 Ajax調用導致Mustache填充html,jQuery用結果替換一些dom元素。它的工作就像一個魅力。

對我說:不要添加邏輯小鬍子,只是刪除從Handlebar.js邏輯(我想這會沒有這些「助手」正常工作。)