禪道專案管理軟體

芝麻軟體發表於2015-07-22

官網:http://www.zentao.net/

下載:http://www.zentao.net/download

 

一、什麼是ZenTaoPHP框架
ZenTaoPHP框架是由禪道專案管理軟體開發團隊開發的一款輕量級的PHP開發框架,它主要的特點是:

1.1 程式碼簡單
ZenTaoPHP框架核心只有四個檔案,分別為排程類router.class.php,control類control.class.php,model類model.class.php和工具類helper.class.php。裡面的程式碼也足夠簡單。這樣大家可以很容易的讀懂它的程式碼,並根據自己的實際應用進行定製修改。

1.2 效能良好
ZenTaoPHP框架在實現過程中,十分重視效能。在保證功能的前提下面,儘可能的提升程式執行效率。

1.3 結構清晰
使用ZenTaoPHP框架來開發應用,其目錄結構簡單清晰,維護起來非常的方便。

1.4 開發友好
框架,首先是一個框,把你框在了裡面。所以很多框架會有很多的約定,你要怎樣,你要怎樣。還有很多隱形的約定,比如你要在你的程式碼裡面寫很多的xxxx之類的東東。我覺得一個好的框架在實現功能的前提下,應當儘量兼顧開發人員之前的開發習慣。ZenTaoPHP框架在這方面花了很大的力氣:

  • 中性命名:框架實現時,沒有出現什麼zentao之類的命名,完全是中性的命名:router, control, model, config, lang。

  • 配置物件化: 配置項可以通過物件的方式來引用,$config->db->user,要比$config[`db`][`user`]簡潔順暢的多。

  • 相對路徑包含:在ZenTaoPHP框架開發的應用中,所有的路徑都可以用相對路徑來進行包含,這樣可以很清晰的知道目錄結構和程式碼之間的關係。

1.5 public domain 授權
public domain 授權就是你可以拿它做任何的事情,禪道開發團隊已經將ZenTaoPHP框架的版權完全的捐獻給了公眾領域。任何人,任何單位可以拿它做任何的事情,而沒有任何的限制。

二、ZenTaoPHP框架的主要功能如下:

2.1 單一入口模式
單一入口是現在比較流行的開發方式。好處在於可以有一個集中的控制。或者講框架一個比較基本的東西也是單一入口吧。現在ZenTaoPHP框架支援web方式和命令列方式的兩種入口檔案。具體的例子大家可以檢視app目錄下面的demo/www/index.php和cli/call這兩個檔案。

2.2 MVC
ZenTaoPHP支援MVC方式的開發。不過相比較於其他框架的多種模板實現來講,ZenTaoPHP並沒有嘗試去開發一套新的模板系統,而是採用PHP作為模板語言。這是最快的一種解決方案,而且也是最簡潔的一種方案。
2.3 支援GET和PATH_INFO兩種方式呼叫
支援  index.php?m=user&f=info&id=123這種GET方式的呼叫,也支援 /user/info/id/123.html 這種方式的呼叫。如果你能控制你的執行環境,可以使用PATH_INFO的方式,這樣生成的URL地址更加簡捷,而且對搜尋引擎十分友好。
2.4 內建資料庫訪問層DAO
禪道框架內建了DAO資料庫訪問層,在PDO的基礎上,提供了完整的SQL拼裝功能,可以非常方便的書寫SQL查詢語句,獲取資料。而且我們在實現DAO的時候,花了很大的力氣在相容之前大家手寫SQL的習慣,所以大家在使用禪道框架的DAO的時候,會發現很親切,因為和手寫SQL基本上是相同的。
2.5 支援跨模組之間的呼叫
在ZenTaoPHP框架中,一個模組的control或者model都可以直接呼叫另外一個模組的model,這樣就可以將一個應用進行模組化,然後通過採用不同模組的功能,來實現比較複雜的功能。
除了model的呼叫之外,一個模組的control還可以fetch另外一個模組的control方法,這種一般用於一些共用的頁面元素,比如列印一個搜尋表單,或者列印選單等等。通過control之間的互相呼叫,實現程式碼的共享。
2.6 無需路由配置,即可獲得簡捷的URL
ZenTaoPHP框架提供了簡潔的引數傳遞方式。比如user模組有一個read方法,需要id和name兩個引數,通常的PATH_INO為user/read/id/1/name/wwccss.html,而ZenTaoPHP支援user/read/1/wwccss.html的形式,這樣就省略了引數名的傳遞。這一切,都不需要配置任何的路由,直接通過框架的功能就可以獲得。
2.7 靈活的資料驗證機制
禪道PHP框架內建了靈活的資料驗證機制,可以實現對資料的修正和檢查,程式碼極其緊湊,簡潔。
2.8 配置和語言可以通過物件方式引用
ZenTaoPHP框架的配置沒有用什麼ini檔案,也沒有用什麼yaml檔案,也沒有用php的陣列,而是直接用PHP物件的形式。這樣配置檔案不需要解析,就可以直接使用,而且引用起來十分的方便。形如$config->db->host的這種方式,而不是$config[`db`][`host`]的這種方式。書寫起來會非常的流暢!
2.9 方便的全域性變數應用
在ZenTaoPHP框架中,引用GET,POST, SERVER這樣的全域性變數,可以通過這樣的方式:$this->get->userName, $this->post->userName, $this->server->remote_addr。
2.10 所見即API
在現在開放平臺的潮流下面,有一個非常好的api機制是比較重要的。在ZT中,每一個介面都可以成為api。至於api的方式,是通過其訪問的副檔名來加以區分。比如如果你訪問的是user/read/id/123.html,那麼返回的是正常的網頁。如果訪問的是user/read/id/123.json,那麼返回的就是json格式的資料。
2.11 內建多語言支援
ZT支援多種語言功能,會自動根據當前使用者客戶端的資訊來判斷使用何種語言,這樣可以方便大家開發多語言的應用。
2.12 強大的擴充套件機制
ZenTaoPHP框架實現了強大的擴充套件機制。通過這套擴充套件機制,做定製開發可以說是輕而易舉,再也不用擔心維護多個分支帶來的痛苦了。


相關文章