◆二次開發(fā)
什么是二次開發(fā)?
二次開發(fā),簡單的說就是在現(xiàn)有的軟件上進(jìn)行定制修改,功能的擴(kuò)展,然后達(dá)到自己想要的功能和效果,一般來說都不會改變原有系統(tǒng)的內(nèi)核。
為什么要二次開發(fā)?
隨著信息化技術(shù)的不斷發(fā)展,IT行業(yè)涌現(xiàn)出了一系列優(yōu)秀的開源作品,其作者或是個人,或是項目小組,或是軟件公司。選擇和應(yīng)用這些優(yōu)秀的開源軟件,并在此基礎(chǔ)上進(jìn)行符合業(yè)務(wù)需求的二次開發(fā),將給企業(yè)節(jié)省信息化成本(時間成本及開發(fā)成本)的同時,更能帶來技術(shù)上的保障。這就是我們常聽的:站在巨人的肩膀上,你將看的更遠(yuǎn)。所以國內(nèi)很多公司需要二次開發(fā)的人才。
怎么做二次開發(fā)?
第一,你要有這個開源產(chǎn)品的所用語言的語言基礎(chǔ),能看懂代碼是最基本的。
第二,你要對這個開源產(chǎn)品的功能和使用要有比較熟悉,因為你熟悉了,你才知道一個需求下來,你要改什么,什么是系統(tǒng)自帶的,大概要怎么改。
第三,你要熟悉這個開源產(chǎn)品的數(shù)據(jù)結(jié)構(gòu),代碼結(jié)構(gòu),系統(tǒng)的框架結(jié)構(gòu),核心是哪里,附屬功能是在哪里。簡單點(diǎn)說,就是數(shù)據(jù)庫,代碼邏輯,文件目錄的熟悉。
第四,根據(jù)你的需求,然后利用開源產(chǎn)品的內(nèi)核,進(jìn)行系統(tǒng)的擴(kuò)展和修改,以達(dá)到你的需求介紹PHP的開源
產(chǎn)品的二次開發(fā)的基本要求:
第一, 基本要求:HTML(必須要非常熟悉),PHP(能看懂代碼,能寫一些小系統(tǒng),如:留言板,小型CMS),Mysql(至少會一種數(shù)據(jù)庫),Javascript(能看懂,能改現(xiàn)成的一些代碼),Div+Css(能進(jìn)行界面的調(diào)整,明白CSS是怎么使用的)
第二, 熟悉開源產(chǎn)品的使用,比如 Dedecms,你要知道怎么登錄,怎么新建欄目,怎么添加文章,模板標(biāo)簽的使用方法,模型的概念和使用方法等等一些功能
第三, 要熟悉這個開源產(chǎn)品的數(shù)據(jù)庫結(jié)構(gòu),還要理解里面核心文件的內(nèi)容,比如:數(shù)據(jù)庫類怎么使用,常用的安全過濾是怎么做的,模板引擎又是怎么使用的等等一些核心內(nèi)容。還要知道這個開源產(chǎn)品的目錄結(jié)構(gòu),就是說,你要知道哪是放模板的,哪里是做控制的,哪里是放樣式的,等等
第四, 熟悉你的需求,對需求進(jìn)行解讀,然后確定如何對這個開源產(chǎn)品進(jìn)行修改和擴(kuò)展
經(jīng)過二次開發(fā)后,你能獲取到的是什么呢?
你能完成你的需求,你能積累經(jīng)驗,這里的經(jīng)驗有你自己的,也有別人的。所謂別人的,就是在你做這個二次開發(fā)的時候,你能吸收到這個系統(tǒng)的精華,然后融入到你自己的思想里,你還能總結(jié)項目架構(gòu)的經(jīng)驗。有句話說的好,就是:聰明的人會把別人的失敗的經(jīng)驗當(dāng)作自己的經(jīng)驗,而傻的人就是自己無數(shù)次體驗失敗后才作為自己的經(jīng)驗。二次開發(fā)不僅僅是開發(fā),而更重要的是吸取精華,總結(jié)經(jīng)驗,理順?biāo)悸罚僮邚澛?,提升自己?/p>
◆DedeCMS二次開發(fā)
為了讓更多人了解二次開發(fā),并更方便的了解DedeCMS的二次開發(fā),下面將會簡單的介紹關(guān)于DedeCMS二次開發(fā)的一些基礎(chǔ)和大綱
DedeCMS二次開發(fā)必備基礎(chǔ):
· 非常熟悉HTML
· 熟悉DIV+CSS的布局
· 扎實(shí)的PHP基礎(chǔ),熟悉結(jié)構(gòu)化編程,了解OOP,并能看懂和使用
· 熟悉MYSQL,掌握SQL語言
DedeCMS二次開發(fā)學(xué)習(xí)過程
· 理解CMS是什么
· 熟悉DedeCMS的功能(如:欄目的分類,文檔管理,模型的使用,系統(tǒng)的設(shè)置等常用的功能)
· 掌握DedeCMS的模板標(biāo)簽使用及原理
· DedeCMS目錄結(jié)構(gòu)分析
熟悉每個文件夾里面主要裝什么文件,這樣在二次開發(fā)的時候知道在哪個文件夾下的什么文件修改
目錄結(jié)構(gòu)摘要:
./a 生成文件存放路徑
./data 緩存文件及數(shù)據(jù)中心
/admin 管理后臺數(shù)據(jù)
/backupdata 備份數(shù)據(jù)
/cache 緩存文件
/enums 級別聯(lián)動數(shù)據(jù),JS,枚舉類型的緩存文件
/js 常用的JS
/mark 水印相關(guān)文件
/module 模塊安裝文件
/rss Rss相關(guān)
/sessions Session 存放路徑
/textdata 文本數(shù)據(jù)
/tplcache 模板緩存
/uploadtmp 上傳文件緩存位置
/ziptmp zip包解壓緩存位置
……
DedeCMS文件結(jié)構(gòu)分析
熟悉每個文件的基本功能,方便做修改,知道每個文件的大概作用之后,可以方便的對文件進(jìn)行修改
文件結(jié)構(gòu)摘要:
common.inc.php 數(shù)據(jù)庫配置文件
config.cache.bak.php 后臺系統(tǒng)配置備份
config.cache.inc.php 后臺系統(tǒng)配置文件緩存
downmix.data.php 采集混淆緩存文件
mysql_error_track.inc MYSQL錯誤日志
safequestions.php 安全問題
sitemap.html 站點(diǎn)地圖
sys_pay.cache.php 支付網(wǎng)關(guān)配置
template.rand.php 隨機(jī)模板設(shè)置
……
· DedeCMS數(shù)據(jù)庫結(jié)構(gòu)分析,至少要熟悉每個表的作用
熟悉每個表的作用,了解幾個核心表的設(shè)計及字段的含義,方便拿到新的需求之后,能快速的判斷是否加字段,還是新建表來處理。同時也能理解DedeCMS的數(shù)據(jù)庫設(shè)計思想,把有用的設(shè)計思路加到自己的系統(tǒng)中。
· DedeCMS的流程控制,及一些核心文件的解析
熟悉一些登陸,注冊,文檔管理,權(quán)限控制,分類管理,模型設(shè)置等一些常用流程控制。對幾個核心文件進(jìn)行解剖,了解其編程技巧及安全機(jī)制
· DedeCMS插件的開發(fā)(****式插件和內(nèi)嵌式插件)
熟悉兩種插件的編寫,插件的導(dǎo)入導(dǎo)出,插件搭配模型的使用
版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會員發(fā)布,如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時內(nèi)刪除!謝謝!
轉(zhuǎn)載請注明: 最好最實(shí)用的織夢二次開發(fā)教程