溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

web人力資源信息系統(tǒng)開發(fā)日志③

發(fā)布時間:2020-06-13 20:10:38 來源:網(wǎng)絡(luò) 閱讀:482 作者:人可工作室 欄目:數(shù)據(jù)庫

第三階段(2017年5月21—6月20日):主要開發(fā)內(nèi)容重心轉(zhuǎn)向用戶業(yè)務(wù)管理層,業(yè)務(wù)邏輯是用PHP程序?qū)?shù)據(jù)庫表進(jìn)行調(diào)用,滿足業(yè)務(wù)管理需求。數(shù)據(jù)庫除了安裝PDO驅(qū)動外還需要安裝ODBC相應(yīng)的驅(qū)動,便于以后使用ODBC數(shù)據(jù)源接口,在MySQL官網(wǎng)下載mysql-connector-odbc穩(wěn)定5.3版本32位安裝,然后在啟動->windows文件管理->ODBC數(shù)據(jù)資源管理程序中添加相應(yīng)的mysql驅(qū)動程序。主體開發(fā)可參考fastphp、ppphp輕量級開發(fā)框架、H-ui前端框架、敏捷框架、Medoo數(shù)據(jù)庫框架來自定義搭建項目骨架,理清項目開發(fā)主線,正式開始一步步開發(fā)完成整個項目主體內(nèi)容,為后期上線測試奠定堅實基礎(chǔ)。

開發(fā)內(nèi)容:

①cookie里存的是加過aes加密后的用戶編號和salt鹽,驗證cookie時就是aes解密后拿出用戶編號查詢user表拿到該用戶的salt字段內(nèi)容跟cookie里的salt對比,一致則cookie有效,通過驗證,提取存儲用戶信息為后臺傳遞參數(shù),提供系統(tǒng)內(nèi)頁使用。

②系統(tǒng)初始化配置與內(nèi)頁調(diào)用機(jī)制的代碼編寫。

③加載common函數(shù)庫,用對應(yīng)函數(shù)分裂前端框架靜態(tài)頁面的頁眉、頁腳、主菜單。把實用工具或解決方法集成到函數(shù)庫中或function.php文件中,在項目各功能模塊需要時直接引用,讓工具來去自由,快速破解各功能模塊中的疑難雜癥,招之即來,揮之即去。

④用數(shù)據(jù)表存儲或自定義常量生成系統(tǒng)菜單。

⑤選擇合適前端開發(fā)框架,編寫控制層核心代碼,以確保組織機(jī)構(gòu)維護(hù)、員工自然狀況維護(hù)、工資人事數(shù)據(jù)維護(hù)、報表查詢及數(shù)據(jù)導(dǎo)出導(dǎo)入等日常業(yè)務(wù)功能的實現(xiàn)。

⑥數(shù)據(jù)處理及圖形查詢并另存為網(wǎng)頁或電子表格式文件。

⑦ODBC數(shù)據(jù)源接口生成報表,充分利用公司原有VFP數(shù)據(jù)庫資源。

⑧結(jié)合PHP安裝運(yùn)行環(huán)境以官方文檔為指導(dǎo)規(guī)范性選擇使用合適版本的medoo數(shù)據(jù)庫框架,快速解決medel層數(shù)據(jù)庫多樣化操作。

開發(fā)技巧:

①命名規(guī)范。因為遠(yuǎn)程虛擬主機(jī)Linux運(yùn)行環(huán)境對設(shè)置為路徑和文件名是嚴(yán)格區(qū)分大小寫的,為了安全穩(wěn)定運(yùn)行,項目文件夾、數(shù)據(jù)庫名、數(shù)據(jù)表名、表前綴、字段名統(tǒng)一用小寫字母或加下劃線命名,程序中注意嚴(yán)格區(qū)分大小寫。

②安全操作??紤]防止SQL注入等安全性操作問題,必須編寫完整的用戶注冊登錄加密驗證系統(tǒng)與單一入口文件配合使用。

③深刻理解MVC和結(jié)構(gòu)化編程。在MVC模式中Controller控制器是Model和View兩者交互的中介,負(fù)責(zé)通過路由解析URL提交兩者處理,Model模型層負(fù)責(zé)讀寫數(shù)據(jù),View視圖層負(fù)責(zé)視圖處理輸出。說MVC是一種技術(shù),不如說是一種藝術(shù),MVC理念來源于工作和生活,又服務(wù)于工作和生活。MVC不是哪門開發(fā)語言的專利,也不局限于哪個項目之上,MVC思想理念廣泛用于所有開發(fā)語言的各種項目開發(fā)中。用PHP開發(fā)MIS就是緊緊圍繞MVC三個層級關(guān)系用結(jié)構(gòu)化編程思路方便快捷實現(xiàn)業(yè)務(wù)邏輯處理。結(jié)構(gòu)化程序更容易編寫和測試,因為復(fù)雜的編程問題被劃分為多個更小的、更簡單的任務(wù)。每個任務(wù)由一段代碼或一個函數(shù)完成,而函數(shù)中的代碼和變量獨(dú)立于程序的其它部分。通過每次處理一個簡單的任務(wù),編程目標(biāo)定位將更快更準(zhǔn),還容易維護(hù)。

④多個瀏覽器交替調(diào)試。為了提高瀏覽頁面速度,現(xiàn)在的瀏覽器緩存是越來越厲害了,編程過程中特別要當(dāng)心掉進(jìn)緩存這個坑里,被緩存蒙蔽。必須采用兩個以上瀏覽器交替調(diào)試程序,并在明顯知道代碼真假的位置設(shè)置斷點(diǎn)有意變更變量或文件名反復(fù)測試程序運(yùn)行真假,繞過緩存假象這個坑。

⑤為了防止批量盜鏈站點(diǎn)內(nèi)容默認(rèn)用自定義常量ROOT在任意子目錄下使用絕對路徑引入或包含文件。在遠(yuǎn)程虛擬主機(jī)Lninux中,”.”表示當(dāng)前目錄,”..”來表示上一級目錄?!?“表示上次所在目錄,”~”表示當(dāng)前用戶的home目錄,也可用”pwd”查看當(dāng)前所在的絕對路徑。從方便編碼和頁面跳轉(zhuǎn)穩(wěn)定運(yùn)行的角度考慮,常用相對路徑去include/require文件或跳轉(zhuǎn),但上線安全測試時加以修改為絕對路徑,減輕服務(wù)器搜索文件壓力,提升產(chǎn)品性能和應(yīng)用效率。

體會感悟:

①合理使用插件給力正能量。后臺這塊的難度主要在于二次開發(fā)中可能會涉及到數(shù)據(jù)的圖表展示,需要用到JS插件來完成,數(shù)據(jù)的表格、表單展示,用插件自帶的數(shù)據(jù)表格,實現(xiàn)了對表單的排序和搜索,借外腦給力系統(tǒng)集成與開發(fā),大大簡化了項目開發(fā)的工作量。

②自定義搭建適合開發(fā)框架。

框架(framework)是一個基本概念上的結(jié)構(gòu),用于去解決或處理系統(tǒng)性復(fù)雜的問題。說白了用框架就是使用別人造好的輪子?!皝淼幂p松,去得易;出來混,早晚要還的”。用別人的輪子,總要為莫名其妙的東東付出太多迷茫調(diào)試的代價。再說大型框架還是重復(fù)用一堆代碼構(gòu)建于 PHP 之上,所以追求極致性能的話,不建議過多重復(fù)用代碼搭積木。其實最優(yōu)雅的框架就是PHP本身,自己原碼搭建框架與其說是在用框架,還不如說是梳理出項目開發(fā)思路和搭好項目架構(gòu),更重要的是,通過自己搭建適合項目需要的MVC架構(gòu),把自己的想法融入到框架中,不一定是最好的,但可以按照自己的方式開發(fā)各種實用功能,讓自己深入理解MVC開發(fā)模式,也讓自己能夠在業(yè)務(wù)項目開發(fā)過程中快速提升技能,培養(yǎng)獨(dú)立思考的能力,掌握MVC框架實質(zhì)和PHP面向?qū)ο髮嵗瘧?yīng)用,從中熟悉PHP的各種代碼優(yōu)化方法,熟悉大部分PHP安全方面問題的解決辦法和熟悉基本的PHP運(yùn)行機(jī)制原理。因為PHP本身就支持模板功能,所以也沒必要非使用第三方模板引擎不可,又因為PDO+SQL就已經(jīng)能良好的抽象數(shù)據(jù)庫操作,用PHP數(shù)組就能方便地存儲和操作查詢結(jié)果,用自定義函數(shù)封裝項目功能模塊,函數(shù)式結(jié)構(gòu)化編程使用靈活又容易維護(hù)。既然面對五花八門的各種框架,實在難以決擇,還不如原生結(jié)構(gòu)化開發(fā),既降低學(xué)習(xí)成本又能體驗高性能PHP服務(wù),入門還是先擺一擺大型專業(yè)框架以后再說。隨著手持設(shè)備的迅猛發(fā)展,帶動了HTML5行業(yè)標(biāo)準(zhǔn)的快速發(fā)展,為了滿足Web前端高度靈活開發(fā)需要,以適應(yīng)不同的瀏覽器、平板、智能手機(jī)各種各樣的手持設(shè)備,非要用響應(yīng)式策略開發(fā)框架不可,那就用輕量級前端框架如H-ui或敏捷框架之類。

總之,用PHP原生面向?qū)ο筚x予MVC思想繞開諸多框架的喧囂,不被框架綁架,以最簡單的方式去詮釋高效才是王道。

③堅持大道至簡的核心開發(fā)理念。PHP素來以簡單著稱,開發(fā)過中切莫刻意把PHP代碼編寫弄得莫測高深,只要“方法可取、運(yùn)行穩(wěn)定、滿足需求”,編程中的每個環(huán)節(jié)都要盡量去繁就簡,易于上手,易于理解,都往簡單處想,越簡單越快樂,越簡單越有力量。

④站在巨人的肩膀上更容易摘到蘋果。Composer是一個出色的PHP依賴管理器,把項目的依賴列在composer.json文件中,然后通過一些簡單的命令,Composer就會自動的幫你下載這些依賴,并配置好自動加載路徑。根據(jù)項目擴(kuò)展需要,用composer install/update 聲明依賴、安裝、更新自動加載第三方類庫或插件,大大提升了開發(fā)Web應(yīng)用的效率與性能。

⑤快速入門突破難關(guān)。PHP+MySQL開發(fā)管理信息系統(tǒng)已經(jīng)成為大家追捧的潮流,管理信息系統(tǒng)注重業(yè)務(wù)實用性,難在功能實現(xiàn)和應(yīng)用推廣上,原因多半是程序開發(fā)與業(yè)務(wù)需求脫節(jié),懂技術(shù)的程序員不懂業(yè)務(wù),有業(yè)務(wù)需求的客戶又不懂技術(shù),無形中增加了溝通難度,程序維護(hù)也很困難。無窮無盡的業(yè)務(wù)需求,期待實用易用的管理信息系統(tǒng)(MIS),Web Apps勢不可擋,順應(yīng)時代召喚,不適合時代的操作習(xí)慣和應(yīng)用方式將會逐漸被MIS所取代,只要堅定方向從從容容走下去,相信總會突破各種難題。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI