本發(fā)明屬于計算機技術(shù)領(lǐng)域,更具體地,涉及一種基于PHP擴展的網(wǎng)頁圖片支持系統(tǒng)。
背景技術(shù):
PHP是一種通用開源腳本語言。利于學(xué)習(xí),使用廣泛,主要適用于Web開發(fā)領(lǐng)域。PHP擴展是可以動態(tài)加載進入PHP核心中的程序模塊。其采用C語言編寫,編譯安裝,運行效率比PHP腳本語言本身要好。
目前網(wǎng)頁開發(fā)中,很多時候用到圖片展示,現(xiàn)有的網(wǎng)頁開發(fā)主要才用標(biāo)記語言管理圖片,而圖片的拷貝、縮放、截取、水印生成等功能,需要采用專業(yè)的圖片處理程式處理。對于圖片較多的網(wǎng)頁,開發(fā)成本較高,管理維護復(fù)雜。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)的以上缺陷或改進需求,本發(fā)明提供了一種基于PHP擴展的網(wǎng)頁圖片支持系統(tǒng),其目的在于通過將網(wǎng)頁開發(fā)的基本功能和網(wǎng)頁圖片編輯功能集成,以PHP擴展的形式封裝成網(wǎng)頁圖片支持系統(tǒng),應(yīng)用于網(wǎng)頁開發(fā),由此解決現(xiàn)有的網(wǎng)頁開發(fā)技術(shù)對圖片支持較差,開發(fā)成本較高的技術(shù)問題。
為實現(xiàn)上述目的,按照本發(fā)明的一個方面,提供了一種網(wǎng)頁圖片支持系統(tǒng),包括:
核心支持模塊:用于支持網(wǎng)頁開發(fā)對象實例化;
圖片處理模塊;用于載入核心支持模塊實例化的圖片,并進行圖片處理;
視圖模塊:用于載入核心支持模塊實例化的視圖并輸出;
數(shù)據(jù)庫處理模塊,用于處理網(wǎng)頁與后臺數(shù)據(jù)庫之間的數(shù)據(jù)連接。
優(yōu)選地,所述網(wǎng)頁圖片支持系統(tǒng),其所述核心支持模塊,具體用于:
在程序初始化時,向系統(tǒng)申請內(nèi)存,實例化容器類,并將程序中可能使用到的對象,注冊至容器中。
優(yōu)選地,所述網(wǎng)頁圖片支持系統(tǒng),其所述圖片處理模塊包括:
載入子模塊,封裝了多種圖片類型的載入函數(shù),用于支持不同類型的圖片底層;
編輯子模塊,用于對載入的圖片進行縮放、截取、水印、濾鏡、以及調(diào)色的編輯操作;
圖片存儲子模塊,用于將載入的圖片的一個或多個副本輸出指定位置保存,包括輸出到核心支持模塊實例化的容器。
優(yōu)選地,所述網(wǎng)頁圖片支持系統(tǒng),其所述視圖模塊用于載入核心支持模塊實例化的網(wǎng)頁開發(fā)視圖。
優(yōu)選地,所述網(wǎng)頁圖片支持系統(tǒng),其所述視圖模塊具體用于:提供可視化的網(wǎng)頁編輯器,并將視圖內(nèi)容轉(zhuǎn)換成網(wǎng)頁格式輸出。
優(yōu)選地,所述網(wǎng)頁圖片支持系統(tǒng),其所述將視圖內(nèi)容轉(zhuǎn)換成網(wǎng)頁格式輸出,包括直接輸出、輸出網(wǎng)頁文件、重定向、JSON、以及模板渲染。
優(yōu)選地,所述網(wǎng)頁圖片支持系統(tǒng),其所述數(shù)據(jù)庫處理模塊,具體用于:建立網(wǎng)頁與數(shù)據(jù)庫的連接,通過數(shù)據(jù)庫連接對象的方法,進行數(shù)據(jù)庫操作。
優(yōu)選地,所述網(wǎng)頁圖片支持系統(tǒng),其所述系統(tǒng)還包括:
任務(wù)處理模塊,用于構(gòu)建任務(wù)隊列,并將網(wǎng)頁操作產(chǎn)生的任務(wù)添加至任務(wù)隊列中,根據(jù)隊列先進先出的順序執(zhí)行;
類文件加載模塊,用于按照PSR的標(biāo)準(zhǔn),將類名到路徑、命名空間到目錄的映射加載;
日志模塊,用于按照PSR中有關(guān)日志的標(biāo)準(zhǔn),在程序需要時,調(diào)用日志對象,記錄日志并保存到指定的位置;
存儲模塊,用于將文件存儲到指定位置。
優(yōu)選地,所述網(wǎng)頁圖片支持系統(tǒng),其所述任務(wù)處理模塊,包括:
任務(wù)生成子模塊,用于將網(wǎng)頁操作產(chǎn)生的任務(wù)添加至任務(wù)隊列,不等待任務(wù)處理完成,繼續(xù)添加任務(wù);
任務(wù)執(zhí)行子模塊,用于建立后臺運行程序,獲取任務(wù)隊列中的人物,進行執(zhí)行,列表為空時,休眠等待新任務(wù)。
總體而言,通過本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,能夠取得下列有益效果:
本發(fā)明提供的基于PHP擴展的網(wǎng)也圖片支持系統(tǒng),封裝了圖片操作,對于多圖片網(wǎng)頁優(yōu)化了網(wǎng)頁性能。同時以以PHP擴展的形式存在,節(jié)省了框架加載本身帶來的性能開銷,運行速度更快;封裝了常見的操作,為開發(fā)帶來了便利,節(jié)省開發(fā)時間,提升了開發(fā)效率;通用性強,便于擴展。
附圖說明
圖1是本發(fā)明提供的基于PHP擴展的網(wǎng)頁圖片支持系統(tǒng)結(jié)構(gòu)示意圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個實施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。
為避免多次請求加載框架類文件,而形成的過多IO開銷,本發(fā)明提供的網(wǎng)頁圖片支持系統(tǒng),優(yōu)選采用C語言編寫的PHP擴展實現(xiàn)。所述網(wǎng)頁圖片支持系統(tǒng),如圖1所示,具體包括:
核心支持模塊:用于支持網(wǎng)頁開發(fā)對象實例化,具體而言,在程序初始化時,向系統(tǒng)申請內(nèi)存,實例化容器類,并將程序中可能使用到的對象,注冊至容器中。核心支持模塊封裝了實例化常用函數(shù),如隨機字符串、數(shù)組讀取等。實現(xiàn)依賴注入,接管對象的實例化工作,方便應(yīng)用程序注冊服務(wù)對象。例如,當(dāng)實例化網(wǎng)頁內(nèi)容時,讀取保存在數(shù)據(jù)庫中的系列圖片,并存儲到數(shù)據(jù)數(shù)組中,進行實例化,以備后續(xù)開發(fā)。
圖片處理模塊:用于載入核心支持模塊實例化的圖,并進行圖片處理。所述圖片處理模塊,包括:載入子模塊,封裝了多種圖片類型的載入函數(shù),用于支持不同類型的圖片底層;編輯子模塊,用于對載入的圖片進行縮放、截取、水印、濾鏡、調(diào)色等編輯操作;圖片存儲子模塊,用于將載入的圖片的一個或多個副本輸出指定位置保存,包括輸出到核心支持模塊實例化的容器。
視圖模塊:用于載入核心支持模塊實例化的視圖并輸出,尤其是網(wǎng)頁開發(fā)視圖。所述視圖模塊,提供可視化的網(wǎng)頁編輯器,并將視圖內(nèi)容轉(zhuǎn)換成網(wǎng)頁格式輸出。具體地,所述將視圖內(nèi)容轉(zhuǎn)換成網(wǎng)頁格式輸出,包括直接輸出、輸出網(wǎng)頁文件、重定向、JSON、以及模板渲染。
數(shù)據(jù)庫處理模塊,用于處理網(wǎng)頁與后臺數(shù)據(jù)庫之間的數(shù)據(jù)連接,具體地,首先建立網(wǎng)頁與數(shù)據(jù)庫的連接,通過數(shù)據(jù)庫連接對象的方法,進行數(shù)據(jù)庫操作,如查詢、修改等。所述數(shù)據(jù)庫處理模塊,支持關(guān)系型數(shù)據(jù)庫,如MySQL、PostgreSQL、Oracle等,支持直接關(guān)系數(shù)據(jù)庫操作,如單表操作、查詢操作、查詢結(jié)果記錄處理操作、數(shù)據(jù)過濾操作。具體地,單表操作如增加、刪除、修改、查詢、聚合。
優(yōu)選地,所述網(wǎng)頁圖片支持系統(tǒng)還包括:
任務(wù)處理模塊,用于構(gòu)建任務(wù)隊列,并將網(wǎng)頁操作產(chǎn)生的任務(wù)添加至任務(wù)隊列中,根據(jù)隊列先進先出的順序執(zhí)行。所述任務(wù)處理模塊,包括任務(wù)生成子模塊和任務(wù)執(zhí)行子模塊:所述任務(wù)生成子模塊用于將網(wǎng)頁操作產(chǎn)生的任務(wù)添加至任務(wù)隊列,不必等待任務(wù)處理完成,繼續(xù)添加任務(wù);所述任務(wù)執(zhí)行子模塊,用于建立后臺運行程序,獲取任務(wù)隊列中的人物,進行執(zhí)行,列表為空時,休眠等待新任務(wù)。
類文件加載模塊,用于按照PSR的標(biāo)準(zhǔn),將類名到路徑、命名空間到目錄的映射加載。
日志模塊,用于按照PSR中有關(guān)日志的標(biāo)準(zhǔn),在程序需要時,調(diào)用日志對象,記錄日志并保存到指定的位置。
存儲模塊,用于將文件存儲到指定位置,所述指定位置可謂本地文件系統(tǒng)、網(wǎng)絡(luò)ftp地址、或FastDFS等。
本領(lǐng)域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。