1.平時用框架用久了,直接執行原生的sql反而做起來反應遲鈍了。今天遇到一個問題,就是直接執行一個添加的sql語句,然后我用了TP框架的M()->query();方法。運行以后,會報Call to a member function free_result() on a non-object這行錯誤,找了半天也不知道怎么回事,然后找到了 free_result()具體實現方法的地方看了代碼,這個方法是釋放查詢的結果集。然而我執行的是添加操作,也就會報錯了。M()->query();是執行查詢語句,M()->execute()是增刪改sql語句。
2.今天還遇到另一個問題,就是TP框架里面,用了import,vendor,還用了include require,反正是該試的都試了。就是實例化類實例化不到,后來才知道,Tp框架實例化的時候前面要加個 \ 斜杠。\PHPExcel_IOFactory::createReader('Excel2007'); 。
TP框架手冊原話:
注意,如果你的類庫沒有使用命名空間定義的話,實例化的時候需要加上根命名空間,例如:
import('Test.UserTest');
$test = new \UserTest();
上面是很久以前寫的,現在回過頭看看才知道 沒有命名空間的前面加 \ 是人家PHP的特性 並不是 TP的專屬。哎,還是太年輕了。哈哈哈