首頁  >  文章  >  php框架  >  ci框架和thinkphp有什麼差別

ci框架和thinkphp有什麼差別

青灯夜游
青灯夜游原創
2021-12-27 12:02:012771瀏覽

區別:1、CI沒有強制綁定模板對資料庫的操作,而ThinkPHP有;2、ThinkPHP講究使用的便利性,提供了很多函數助手,而CI的使用比較麻煩冗長;3、 CI的視圖檔案不可配置,而TP的視圖檔案可配置。 4.TP提供多種調試方法,CI沒有。

ci框架和thinkphp有什麼差別

本教學操作環境:Windows7系統、thinkphp v5.1版、Dell G3電腦。

ThinkPHP與CI的功能做下比較:

  • 模型(Model):模板相當於資料的操作,數據存放的形式有多種:如資料庫、檔案系統、記憶體等。 CI沒有強制綁定範本對資料庫的操作,而ThinkPHP(以下稱TP)預設跟資料庫操作強相關,確實實際中操作的資料一般都是資料庫的,但要操作其他儲存類型的資料該怎麼辦呢?其實TP只是提供了操作資料的許多便利接口,只要不使用這些接口,還是不耦合的;而且儲存類型的驅動是可配置的,例如可改為文件資料操作。所以TP要方便的多。

  • 命名空間的使用。 CI黨體會不到命名空間帶來的便利與優雅。 CI使用$this->load()導入不同模組的兩個model時應該是衝突的,應該是可以覆蓋,但使用起來就不方便了。

  • TP很講究使用的便利性,所以提供了很多函數助手,一般正常使用是$a=Class::function();,使用助手之後一般是$a = class();,便利了不少,這個使用來看習慣吧。 CI就要麻煩冗長地寫成$this->class->function()。

  • 說說視圖(view)與模板(template)。 CI的視圖檔案的存放位置是application/view下面,而且不可配置,至少我找不到可以設定的地方。 TP的view目錄可配置,而且不一定要在application下,對安全存取和視圖自訂與替換提供比較大的便利性。
    對於模板,CI實作得比較雞肋,雖然說有個模板解析類 $this->load->library('parser'); 可以透過左邊這程式碼加載,但是只能實現變數的簡單替換,較複雜的控制結構就實現不了了,到頭來還是用原生的php程式碼實作(我估計官方也提倡用原生,畢竟原生不用多解析一般,效率上佔優,語法也不用再學一套)。
    而TP的模板就比較全面成熟,有自己的一套文法,基本上是不用夾雜原生php,也許對前端工程師來說是個好事吧,不用學php,就學個模板文法。前後端分工也就更加明確了。

  • 現在一想,CI和TP的MVC目錄結構有著比較大的差別:

    CI的controllers、view、model就各分別一個目錄,模組的劃分是以上面各目錄下新建子目錄作為模組目錄,或是乾脆沒有模組的概念,直接在目錄下建立控制器和模型等。

    而TP是以模組作為基本的隔離單元,預設各個模板所對應的目錄下都有一個controllers、view、model目錄。

  • 至於調試(debug),TP絕對是甩CI幾條街,官方提供的方法就有:

ci框架和thinkphp有什麼差別

而CI只有簡單的將錯誤的呼叫暫印出來,雖說這已經可以解決60%以上的問題了。

【相關教學推薦:thinkphp框架

以上是ci框架和thinkphp有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn