原创 再探面向對象補充

面向對象擴展 面向對象:一直把對象放在心上,實質上就是把生活中的要解決的問題都用對象的方式進行存儲,對象之間是可以互動的 對象的組成:屬性與方法 對象的特點:獨一無二的特定事物,可以重複使用 面向對象基本思路:識別對象,識別對象

原创 抽象工廠模式

抽象工廠模式 抽象工廠模式與工廠方法模式最大的區別:抽象工廠中每個工廠可以創建多種類的產品;而工廠方法每個工廠只能創建一類 允許使用抽象的接口來創建一組相關產品,而不需要知道或關心實際生產出的具體產品是什麼,這樣就可以從具體產品

原创 設計模式的設計原則

單一職責原則(S) 定義:一個類,只有一個引起它變化的原因。即:應該只有一個職責 理解:僅有一個引起類變化的原因;避免相同的職責分散到不同的類中;一個類只承擔一項職責 優點: 1、減少類之間的耦合:當需求變化時,只修改一個類,從

原创 工廠模式

工廠模式 工廠方法模式,又稱工廠模式、多態工廠模式和虛擬構造器模式,通過定義工廠父類負責定義創建對象的公共接口,而子類則負責生成具體的對象 定義一個創建對象的接口,讓其子類自己決定實例化哪一個工廠類,工廠模式使其創建過程延遲到子

原创 一些雜項

數據冗餘 在product表中我們的main_img_url和img_id是指向相同的url,爲什麼要數據冗餘?這裏是出於性能的考慮,當數據量如果比較多,嵌套循環(theme-product-image)也多的情況下,查詢起來性

原创 開發Api常用Http狀態碼

HTTP狀態碼的分類 狀態碼 分類描述 1** 服務器收到請求,需要請求者繼續執行操作 2** 操作被成功接收並處理 3** 重定向,需要進一步的操作以完成請求 4** 客戶端錯誤,請求包含語法錯誤或無法

原创 TP5模型不完全解讀

正式介紹ORM之前我們需要了解 第一個原因原生的SQL語句沒有使用查詢構建器等簡潔方便;第二個是主要原因,查詢數據器封裝了對不同數據庫的操作,提供給開發者統一的SQL操作語法,不需要關心原生SQL的差異性 鏈式方法的where方

原创 TP5API開發模型關聯和圖片url設置和API版本號

關聯模型 關聯模型可以分爲主模型,關聯模型,以一個模型爲參照的模型爲主模型,與之對應的模型稱爲關聯模型。 如果在含有外鍵的表或模型中編寫模型關聯則使用belongsTo方法,如果在沒有外鍵的表或模型中編寫模型關聯則使用hasOn

原创 微信小程序的支付與退款功能

微信支付 微信官方微信支付產品有付款碼支付,JSAPI支付,Native支付,App支付,H5支付,小程序支付,人臉支付等不同的支付產品,在這裏我們講解微信小程序支付 業務流程 首先我們先看一下微信官方小程序支付文檔所羅列的

原创 TP5打印sql的幾種方式

獲取sql語句 getLastSql $res = Db::table('staff')->field('id,salary')->where('id','>',1) ->group('

原创 TP5數據庫三種操作方式

原生方式 使用Db進行原生查詢query或者寫入execute,並且支持參數綁定,命名佔位符綁定。 query查詢的是一條數據的是一維數組,多條數據是二維數組,如果查詢結果爲空,則爲一維空數組 execute執行的結果是受影響的

原创 TP5日誌記錄與異常處理

日誌記錄 日誌配置application/config.php 'log' => [ // 日誌記錄方式,內置 file socket 支持擴展 'type' => 'File',

原创 TP5的配置

配置 配置的設置目錄以及格式 常量的形式 數組的形式 json的形式 xml的形式 配置的讀取 Config類 Config::get('user') 輔助函數 config('user.age') 配置文件的加載順

原创 TP5請求獲取參數

獲取請求參數的幾種方法 通過繼承think\Controller基類,在控制器中直接使用$this->request namespace app\index\controller; use think\Contr

原创 關於SOAP、REST、RESTful的理解

SOAP 百度百科的解釋:Simple Object Access Protocol,簡單對象訪問協議,它是交換數據的一種協議規範,是一種輕量的、簡單的、基於XML(標準通用標記語言下的一個子集)的協議,它被設計成在WEB上交換