1. 程式人生 > >web人力資源信息系統開發日誌③

web人力資源信息系統開發日誌③

web 信息系統

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

開發內容:

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

②系統初始化配置與內頁調用機制的代碼編寫。

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

④用數據表存儲或自定義常量生成系統菜單。

⑤選擇合適前端開發框架,編寫控制層核心代碼,以確保組織機構維護、員工自然狀況維護、工資人事數據維護、報表查詢及數據導出導入等日常業務功能的實現。

⑥數據處理及圖形查詢並另存為網頁或電子表格式文件。

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

⑧結合PHP安裝運行環境以官方文檔為指導規範性選擇使用合適版本的medoo數據庫框架,快速解決medel層數據庫多樣化操作。

開發技巧:

①命名規範。因為遠程虛擬主機Linux運行環境對設置為路徑和文件名是嚴格區分大小寫的,為了安全穩定運行,項目文件夾、數據庫名、數據表名、表前綴、字段名統一用小寫字母或加下劃線命名,程序中註意嚴格區分大小寫。

②安全操作。考慮防止SQL註入等安全性操作問題,必須編寫完整的用戶註冊登錄加密驗證系統與單一入口文件配合使用。

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

④多個瀏覽器交替調試。為了提高瀏覽頁面速度,現在的瀏覽器緩存是越來越厲害了,編程過程中特別要當心掉進緩存這個坑裏,被緩存蒙蔽。必須采用兩個以上瀏覽器交替調試程序,並在明顯知道代碼真假的位置設置斷點有意變更變量或文件名反復測試程序運行真假,繞過緩存假象這個坑。

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

體會感悟:

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

②自定義搭建適合開發框架。

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

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

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

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

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


本文出自 “何朱必博客hezhubi.com” 博客,請務必保留此出處http://hezhubi.blog.51cto.com/11144083/1945659

web人力資源信息系統開發日誌③