原创 PHP使用Imagick繪製六芒星能力圖

先說一下本人在工作中遇到的瓶頸        之前做過一個【霍蘭德職業興趣測試】測試的項目,大體結構就是用戶答題,系統根據用戶回答的問題進行職業性格測試,最後顯示結果,在結果頁存在一個類似於六芒星的能力分析圖(這個是我自己起的名字,具體是

原创 初識設計模式——原型模式(PHP中的深淺複製)

深複製與淺複製 看了很多資料,知道很多語言都有所謂的深複製、淺複製(深拷貝、淺拷貝),對於PHP來說,也是存在深複製、淺複製的,先標記一下定義: 深複製:克隆一個變量來使用,在克隆的過程中,在內存中將會使用兩份資源進行存儲,改變一個變量的

原创 Redis在Windows中安裝服務時候遇到的坑

命令記錄 redis-server --service-install [redis配置文件(一般爲redis-server同級目錄下的redis.windows.conf)]          安裝redis服務 redis-serve

原创 MongoDB知識整理

數據庫操作 show dbs; //顯示數據庫列表(注意,無集合的數據庫不顯示) db; //顯示當前正在使用的數據庫 use dbname; //如果存在,則切換至數據庫,如果不存在,創建後切換至

原创 初識設計模式——橋接模式

學習筆記 意圖:把對象的實體部分與抽象部分分離開來,分開進行組合封裝,使它們可以分別的變化。 主要解決:主要解決的問題是存在多種變化的可能性,而各種的可能性不能通過簡單的擴展就可以完成,會造成後續的類的數量爆炸式增多的問題。 實現方式:將

原创 初識設計模式——單例模式

個人理解 意圖:保證一個類僅有一個實例,並提供一個能夠訪問它的全局訪問點。 主要解決:一個類的頻繁的實例化、銷燬,或者需要保證全局只有一個此類的實例化對象,另外,也可以防止隨意實例化而佔用過多的內存空間。 實現方式:將類的初始化函數私有化

原创 初識設計模式——迭代器模式(PHP中迭代器(Iterator)的使用)

初始迭代器模式 迭代器模式提供一種方法順序訪問一個聚合對象中各個元素, 而又無須暴露該對象的內部表示。在《大話設計模式》中提到,此設計模式實用價值遠不如學習價值大了,martin flower甚至提出撤銷此設計模式。另外,無論是JAVA、

原创 初識設計模式——組合模式

個人理解 定義:組合模式(Composite Pattern),又叫部分整體模式,是用於把一組相似的對象當作一個單一的對象。組合模式依據樹形結構來組合對象,用來表示部分以及整體層次。這種類型的設計模式屬於結構型模式,它創建了對象組的樹形結

原创 初識設計模式——備忘錄模式

個人理解 定義:在不破壞封裝性的前提下,捕獲一個對象的內部狀態,並在該對象之外保存這個狀態。 理解:前提條件有兩個,一個是不破壞封裝性的前提下獲取對象的成員屬性;另一個是保存獲取到的屬性。由於PHP主要應用於web端,所以在一次請求中頻繁

原创 初識設計模式——原型模式

深複製與淺複製 看了很多資料,知道很多語言都有所謂的深複製、淺複製(深拷貝、淺拷貝),對於PHP來說,也是存在深複製、淺複製的,先標記一下定義: 深複製:克隆一個變量來使用,在克隆的過程中,在內存中將會使用兩份資源進行存儲,改變一個變量的

原创 初識設計模式——狀態模式

個人理解 定義:當一個對象的內在狀態改變時允許改變其行爲,這個對象看起來像是改變其類。 理解:這個模式主要解決的問題是消除龐大的條件分之語句,條件分支語句過大的使用,可能出現維護困難,操控的對象方法較爲複雜等問題。例如訂單的狀態、遊戲的等

原创 初識設計模式——觀察者模式

個人理解 定義:定義了一種一對多的依賴關係,讓多個觀察者對象同時監聽某一個主題對象。這個主題對象在狀態發生變化時,會通知所有觀察者對象,使他們能夠自動更新自己。 理解:在符合兩個條件的情況下就可以使用觀察者模式。第一,存在一(主題對象)對

原创 初識設計模式——建造者模式

個人理解 定義:將一個複雜對象的構建與其表示相分離,使得同樣的構建過程可以創建不同的表示。 理解:一般用於可組合的對象中,比如商品(可通過價格、名稱、介紹、規格等等進行組合生成)、套餐(可通過不同的商品進行組合),而不可在分的對象,比如優

原创 初識設計模式——外觀模式

個人理解 定義:爲子系統中的一組接口提供一個一致的界面,此模式定義了一個高級接口,這個接口使得這個子系統更加容易使用。 外觀模式的構造:一個子系統的若干類(可以負責相同的事務,也可以負責不同的事務;可以繼承同一父類,也可以內部方法盡不相同

原创 初識設計模式——模板模式

個人理解 定義:定義一種操作的算法骨架,而將一些步驟延遲到子類中。延遲方法使得子類可以不改變一個算法結構即可重定義該算法的某些特定步驟。在模板模式中,一個抽象類公開定義了執行它的方法的方式/模板。它的子類可以按需要重寫方法實現,但調用將以