黃遠(yuǎn)林 黃琳
【摘? 要】本文設(shè)計(jì)了一個(gè)基于PHP的網(wǎng)上藥店管理系統(tǒng)。該系統(tǒng)采用緩存技術(shù)、PHP無限分類技術(shù)進(jìn)行藥品快速分類,頁面采用Ajax無刷新技術(shù)提升用戶體驗(yàn),并結(jié)合Laravel框架自帶驗(yàn)證進(jìn)行表單驗(yàn)證和其完善的路由系統(tǒng)進(jìn)行模型-視圖-控制器(MVC模式)開發(fā),數(shù)據(jù)庫采用MySQL。實(shí)現(xiàn)了用戶信息管理、訂單、訂單狀態(tài)、藥品、藥品分類、評(píng)論、系統(tǒng)配置、輪播圖、網(wǎng)站廣告等多個(gè)功能模塊的專項(xiàng)管理。旨在形成一套用戶體驗(yàn)好、后臺(tái)管理方便高效的網(wǎng)上藥店管理系統(tǒng)。
【關(guān)鍵詞】網(wǎng)上藥店管理系統(tǒng);? PHP Ajax Laravel;框架 ;MySQL
引言
隨著社會(huì)的飛快發(fā)展和信息科技的不斷普及,各行各業(yè)的管理、控制都越來越離不開計(jì)算機(jī)的協(xié)助。在平時(shí)的醫(yī)藥管理中,面對(duì)眾多的不同分類的藥品和眾多不同需求的顧客,每天都會(huì)產(chǎn)生大量的購藥需求信息。傳統(tǒng)的線下人工方式來處理這些信息,操作比較繁瑣,且效率低下,浪費(fèi)企業(yè)大量的人力物力。此時(shí),一套合理、高效、實(shí)用的醫(yī)藥銷售系統(tǒng)在醫(yī)藥企業(yè)或大型藥店中就顯得十分重要,利用其提供的藥品管理、藥品分類管理等豐富的后臺(tái)管理功能,可以進(jìn)行高效的管理、銷售,更好的為顧客服務(wù),于是網(wǎng)上藥店在現(xiàn)實(shí)中得到大規(guī)模使用。
采用網(wǎng)上藥店管理系統(tǒng)既為商家提高了個(gè)人效益,解放生產(chǎn)力,提高工作的效率。又為醫(yī)藥消費(fèi)者們提供方便,在家使用手機(jī)電腦即可進(jìn)行藥品選購,節(jié)省了不少時(shí)間。
1.關(guān)鍵技術(shù)
該系統(tǒng)使用PHP和MySQL結(jié)合Laravel 框架來開發(fā),其中Laravel 是一個(gè)免費(fèi)的開源 PHP 框架,適用于 Web 應(yīng)用程序開發(fā),且適用于移動(dòng)應(yīng)用程序場(chǎng)景。使用Laravel框架中提供的方法和函數(shù)進(jìn)行各個(gè)功能模塊的實(shí)現(xiàn),并確保項(xiàng)目能流暢地在服務(wù)器運(yùn)行。
同時(shí)Laravel中內(nèi)置了強(qiáng)大的 Composer包管理工具,可以輕松添加包。也正是由于其具有上手簡(jiǎn)單、無縫數(shù)據(jù)遷移技術(shù)、完美的MVC架構(gòu)支持、強(qiáng)大的模板引擎和簡(jiǎn)單的單元測(cè)試等特點(diǎn),因此本系統(tǒng)使用Laravel框架。
2.系統(tǒng)設(shè)計(jì)
2.1主要功能
系統(tǒng)提供郵箱注冊(cè)、登錄及修改密碼操作,游客可通過分類搜索藥品和查看藥品詳情。用戶進(jìn)行登錄之后,才能進(jìn)行購買藥品操作,登陸失敗則會(huì)跳轉(zhuǎn)回到登錄界面,登陸成功可修改個(gè)人信息(修改昵稱密碼等)并設(shè)置收貨地址、查看歷史訂單和購買藥品等操作。管理員登錄后臺(tái)后可以管理用戶信息,藥品分類,藥品,訂單,審核評(píng)論,網(wǎng)站系統(tǒng)管理等,網(wǎng)站系統(tǒng)管理中又包含輪播圖、網(wǎng)站的廣告,網(wǎng)站標(biāo)題、關(guān)鍵字、描述等信息管理。系統(tǒng)模塊圖如右側(cè)圖3-1、3-2、3-3所示。
2.2系統(tǒng)用例圖
如圖3-4所示,該系統(tǒng)的用戶分為三種角色:游客,系統(tǒng)用戶和管理員。游客可訪問主頁并瀏覽藥品;系統(tǒng)用戶可修改個(gè)人信息、管理收貨地址、下單藥品、查看訂單、評(píng)價(jià);管理員可對(duì)用戶信息、訂單、訂單狀態(tài)、藥品、藥品分類、評(píng)論及系統(tǒng)配置進(jìn)行管理。
2.3數(shù)據(jù)庫設(shè)計(jì)
根據(jù)系統(tǒng)需求分析和模塊功能對(duì)數(shù)據(jù)庫設(shè)計(jì)分析,共設(shè)計(jì)12張數(shù)據(jù)庫實(shí)體表,分別為:管理員表(admin)、用戶表(user)、收貨地址表(addr)、網(wǎng)站廣告表(ads)、評(píng)論表(comment)、藥品表(goods)、藥品小圖表(goodsimg)、訂單表(orders)、訂單狀態(tài)表(orderstatu)、輪播圖表(slide)、分類表(types)、分類廣告表(typesads)。
圖3-5是整個(gè)網(wǎng)上藥店管理系統(tǒng)數(shù)據(jù)庫 E-R 圖,其中管理員可以對(duì)應(yīng)管理網(wǎng)站所有用戶、網(wǎng)站廣告、系統(tǒng)配置、分類廣告、輪播圖、藥品分類、藥品藥品小圖、訂單、訂單狀態(tài)、評(píng)論,數(shù)據(jù)庫E-R圖的設(shè)計(jì)實(shí)現(xiàn)了網(wǎng)站數(shù)據(jù)模型的關(guān)聯(lián)。
在上面的關(guān)系中又進(jìn)行細(xì)分,圖3-6是藥品分類—藥品—藥品小圖的關(guān)系E-R圖,一個(gè)藥品分類對(duì)應(yīng)多個(gè)藥品,一個(gè)藥品對(duì)應(yīng)對(duì)各藥品小圖。
圖3-7是用戶—收貨地址、用戶—評(píng)論—訂單、訂單—訂單狀態(tài)關(guān)系E-R圖,一個(gè)用戶擁有多個(gè)收貨地址,可以發(fā)布多個(gè)評(píng)論和提交多個(gè)訂單,一個(gè)訂單可以有多個(gè)評(píng)論,一個(gè)訂單狀態(tài)可以對(duì)應(yīng)多個(gè)訂單。
3.系統(tǒng)實(shí)現(xiàn)
經(jīng)過上面對(duì)系統(tǒng)進(jìn)行了詳細(xì)的需求分析,系統(tǒng)概要設(shè)計(jì),數(shù)據(jù)模型設(shè)計(jì)以及技術(shù)選型,下面就是對(duì)系統(tǒng)各個(gè)模塊的具體實(shí)現(xiàn)和對(duì)一些功能的性能進(jìn)行優(yōu)化,提升系統(tǒng)性能。
在進(jìn)行開發(fā)之前,首先區(qū)分功能模塊的優(yōu)先順序。這里我使用一個(gè)簡(jiǎn)單的分析框架,來決策功能模塊的開發(fā)優(yōu)先級(jí),基于需求分析,我將系統(tǒng)拆分成如下幾大模塊:
在上面的功能清單中,各個(gè)模塊的依賴關(guān)系『訂單模塊』依賴于『用戶模塊』和『商品模塊』,上層的模塊依賴于下層的模塊,因此在開發(fā)過程中我們會(huì)優(yōu)先構(gòu)建下層的模塊。下面以分類添加功能為例作詳細(xì)說明。
作為貫穿網(wǎng)站的主要功能,該步驟設(shè)計(jì)結(jié)果的好壞,將直接影響到接下來的藥品管理以及訂單管理。管理員通過添加分類入口進(jìn)行藥品分類添加,并添加分類下的子類,添加成功后在后臺(tái)進(jìn)行展示成樹形結(jié)構(gòu)。然后即可對(duì)現(xiàn)有的分類進(jìn)行管理,修改該分類是否作為前臺(tái)藥品樓層出現(xiàn),并進(jìn)行分類的刪除和批量刪除。分類添加效果圖如圖4-1所示。
主要思路:
(1)頂級(jí)分類的添加:設(shè)置好路由和前端跳轉(zhuǎn)路徑點(diǎn)擊跳轉(zhuǎn)到添加頁面后臺(tái)添加成功返回到展示頁面,失敗返回上一頁面。
(2)添加頂級(jí)分類下的子類:頁面中路徑帶上當(dāng)前分類的父id(即數(shù)據(jù)表中的pid),再進(jìn)行path路徑的拼接存到數(shù)據(jù)庫中(path路徑:方便后面進(jìn)行分類的梯形展示),同時(shí)根據(jù)path路徑判斷最多只能添加三級(jí)分類。
限制添加子類部分代碼:
<?php
//根據(jù)逗號(hào)分割path路徑數(shù)組
$arr=explode(“,”,$value->path);
//統(tǒng)計(jì)數(shù)組長(zhǎng)度
$tot=count($arr)-2;
?>
{{--當(dāng)為三級(jí)分類(4-2=2)時(shí)就停止添加分類--}}
@if($tot>=2)
@else
{{--添加子類跳轉(zhuǎn)路徑,帶上當(dāng)前分類id、pid和path路徑參數(shù)--}}
@endif
4.結(jié)束語
該網(wǎng)上藥店管理系統(tǒng)經(jīng)過設(shè)計(jì),結(jié)合現(xiàn)實(shí)的需求,實(shí)現(xiàn)了網(wǎng)上藥店管理的整體功能,方便管理員對(duì)藥品進(jìn)行統(tǒng)一管理,同時(shí)讓醫(yī)藥消費(fèi)者能更方便快捷地進(jìn)行購藥,滿足不同用戶和企業(yè)的需求。同時(shí)該系統(tǒng)可拓展性強(qiáng)且維護(hù)簡(jiǎn)單,為后續(xù)開發(fā)提供了方便,為系統(tǒng)使用者提供更好的服務(wù)。
參 考文獻(xiàn)
[1] 陳晶,蔣奎,劉妍, 等.我國網(wǎng)上藥店發(fā)展現(xiàn)狀及企業(yè)管理對(duì)策[J].中國藥學(xué)雜志,2015,50(16):1457-1461. DOI:10.11669/cpj.2015.16.022.
[2] 楊倩.基于WEB的藥店管理系統(tǒng)[D].天津:天津大學(xué),2014. DOI:10.7666/d.D638068.
[3] 殷晨,劉美芳.國內(nèi)B2C電子商務(wù)模式發(fā)展研究[J].電子商務(wù),2015,(3):5-6. DOI:10.3969/j.issn.1009-6108.2015.03.003.
[4] 施建華.Laravel框架下電商威客平臺(tái)設(shè)計(jì)及實(shí)現(xiàn)[J].宜賓學(xué)院學(xué)報(bào),2017,17(6):51-53. DOI:10.3969/j.issn.1671-5365.2017.06.012.
[5] 劉麗,楊靈. PHP編程基礎(chǔ)與案例開發(fā)[M]. 北京理工大學(xué)出版社,2018-8.
[6] Andri Sunardi,Suharjito. MVC Architecture: A Comparative Study Between Laravel? Framework and Slim Framework in Freelancer Project Monitoring System Web Based[J]. Procedia Computer Science,2019,157.
作者簡(jiǎn)介:黃遠(yuǎn)林(1998.12--),男,廣西梧州人,本科,桂林理工大學(xué)信息學(xué)院網(wǎng)絡(luò)工程專業(yè);
黃琳(1980.1--),女,湖南婁底人,工學(xué)碩士,講師,研究方向?yàn)槿斯ぶ悄堋⒂?jì)算機(jī)技術(shù)。