2014-01-16 33 views
1

我有一個Codeigniter的應用程序生成,我想爲我的前端使用BackboneJS。我已經構建了一個API,以便可以使用我的數據庫中返回的JSON,所以我唯一需要的是將Backbone集成到我的Codeigniter設置中。我也已經有了一個Backbone應用程序,我創建了大部分需要的視圖。所以,在我的骨幹的index.php我:與Codeigniter的BackboneJS

<script data-main="js/config" src="js/lib/requirejs/require.js"></script> 
<script> 
    require(['config'], function(config) { 
     require(['app/mainpage']); 
}); 
</script> 
在我的index.php

另外,我都在我的骨幹視圖渲染的div的。

我想知道,我如何在Codeigniter中進行整合。我的文件/文件夾結構的笨是典型的CI-設置:

- application 
    - config 
    - controllers 
    - models 
    - views 
    - assets 
    - css 
    - img 
    - system 
index.php 
.htaccess 

那麼,什麼是做到這一點的最好方法是什麼?我應該創建一個額外的js-文件夾,然後將我的主幹設置放在該文件夾中?如果是這樣,<script>-上面顯示的代碼呢?在哪裏放置它?

在此先感謝

回答

0

你問這個前一陣子,所以我不知道,如果你還在尋找一個答案,但因爲我偶爾使用類似的設置與AngularJS我建議:

  1. 將所有標題內容加載到視圖中作爲佈局。我用this layout
  2. 裝入前端客戶端JS內的包括/application/views/site/header.php,看到this repo for example

一旦你把所有的庫裝起來,然後你可以加載每個人JS應用程序(Angular使用Modules)或使用加載partials的單個應用程序(我認爲backbone和angular一樣具有此功能)。

哦,還有一個不理智的​​陷阱:Codeigniter不支持JSON帖子,所以RESTful API並不容易開箱即用。如果您需要接收JSON發佈數據,我目前發現的最好的結果是完全鈍的:

$phpArray = json_decode(file_get_contents('php://input'));