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版本的適配器;
要解決的問題
- [x]C函數;及裏面的配置項
- [x]DB_PREFIX;
- [x]DB_FIELDS_CACHE
- []READ_DATA_MAP
- []TOKEN_ON;
- []TOKEN_NAME
- []TOKEN_RESET;
- [x]DEFAULT_M_LAYER;
- [x]VAR_AUTO_STRING
- [x]URL_PATHINFO_DEPR
- [x]DEFAULT_FILTER
- [x]F 函數;
- [x]parse_name 函數
- [x]E;沒必要封裝,造成代碼的錯誤定位環節會更低效;
- [x]L,及相關的定義內容;
- []OPERATION_WRONG
- []DATA_TYPE_INVALID
- []METHOD_NOT_EXIST
- []TOKEN_ERROR
- []CACHE_TYPE_INVALID
- []NO_DB_DRIVER
- []EXPRESS_ERROR
- []STORAGE_WRITE_ERROR
- [x]S 函數
- [x]xml_encode
- [x]APP_DEBUG 常量;
- [x]NOW_TIME 常量;
- [x]I 函數;
- [x]MAGIC_QUOTES_GPC 常量;
- [x]get_client_ip 函數;
- [x]Db 類
- []G
- []trace
- []N
- []ns
- []Think\Log 類
- [x]Think\Cache;
- []
- [x]DATA_PATH 常量
- [x]TEMP_PATH 常量;
- []Think\Storage;
函數庫中的依賴
- []MODULE_NAME;應該改爲 函數或方法調用;動態返回,就可以做小動作;