Think3 ORM

4月30日,手癢,從老的TP 3.2 框架中,剝離了ORM的部分,發佈了一個 composer 項目。

安裝方式:

composer require x3d/think3-orm

還參照最新的 tp6 中的 think-orm 做了簡單的phpunit測試,見 tests/HelloTest.php 文件。

這樣的項目,有何價值呢?對個人而已,有二:假定某些遺留項目可以使用該庫得到一些曾經的讓開發者比較爽的新能力,拆分出來後引用副作用更少;Nodejs的 NPM社區所提倡的 package 化的印象的實踐。

其中大概涉及到的一些點:

Db 、Storage、Cache、Log引擎,需要有各種框架的適配器及默認的Think3版本的適配器;

要解決的問題

  1. [x]C函數;及裏面的配置項
    1. [x]DB_PREFIX;
    2. [x]DB_FIELDS_CACHE
    3. []READ_DATA_MAP
    4. []TOKEN_ON;
    5. []TOKEN_NAME
    6. []TOKEN_RESET;
    7. [x]DEFAULT_M_LAYER;
    8. [x]VAR_AUTO_STRING
    9. [x]URL_PATHINFO_DEPR
    10. [x]DEFAULT_FILTER
  2. [x]F 函數;
  3. [x]parse_name 函數
  4. [x]E;沒必要封裝,造成代碼的錯誤定位環節會更低效;
  5. [x]L,及相關的定義內容;
    1. []OPERATION_WRONG
    2. []DATA_TYPE_INVALID
    3. []METHOD_NOT_EXIST
    4. []TOKEN_ERROR
    5. []CACHE_TYPE_INVALID
    6. []NO_DB_DRIVER
    7. []EXPRESS_ERROR
    8. []STORAGE_WRITE_ERROR
  6. [x]S 函數
  7. [x]xml_encode
  8. [x]APP_DEBUG 常量;
  9. [x]NOW_TIME 常量;
  10. [x]I 函數;
  11. [x]MAGIC_QUOTES_GPC 常量;
  12. [x]get_client_ip 函數;
  13. [x]Db 類
    1. []G
    2. []trace
    3. []N
    4. []ns
  14. []Think\Log 類
  15. [x]Think\Cache;
    1. []
  16. [x]DATA_PATH 常量
  17. [x]TEMP_PATH 常量;
  18. []Think\Storage;

函數庫中的依賴

  1. []MODULE_NAME;應該改爲 函數或方法調用;動態返回,就可以做小動作;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章