溫馨提示×

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

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

php代碼架構(gòu)的注意事項(xiàng)有哪些

發(fā)布時(shí)間:2021-08-31 10:59:25 來(lái)源:億速云 閱讀:217 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)php代碼架構(gòu)的注意事項(xiàng)有哪些的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

具體如下:

寫(xiě)代碼寫(xiě)了6年多了,看看以前的架構(gòu),看看現(xiàn)在的架構(gòu)。都有一些不足的地方。不管怎么樣,都一直在改進(jìn)。說(shuō)實(shí)話不太喜歡用框架這類(lèi)東西,基本上所有的框架都大同小異,差不了多少,要用話的,你還要去了解思想,目錄結(jié)構(gòu),文件調(diào)用,文件命名,代碼規(guī)范等,挺浪費(fèi)時(shí)間的。構(gòu)架能滿足很大一部分的要求,滿足的人越多性能越差,這也是我不喜歡用架構(gòu)的一個(gè)主要原因。下面說(shuō)一下,代碼架構(gòu)方面的一些心德。

一、面向?qū)ο鬄橹?,面向過(guò)程為輔

php4是面向過(guò)程的,php5及以后支持面向?qū)ο蟆?/p>

1,面向?qū)ο蟮某绦蛟O(shè)計(jì)思想,對(duì)于代碼的管理,規(guī)劃更合理,性能更好等。
2,面向過(guò)程代碼管理,規(guī)劃比較簡(jiǎn)單,調(diào)用方式更直接,更清楚,效率方面比較差。
舉個(gè)例子說(shuō)明一下:
面向?qū)ο蠛帽仁且粋€(gè)軟件園區(qū),如果你想找某個(gè)公司的所在地,你要知道是幾號(hào)樓,幾層,幾室。
面向過(guò)程好比是平民區(qū),如果你要找某戶人家,你要知道,什么路,多少號(hào)就行了。
如果要把軟件園區(qū)高樓都變成民房,就要占用更多的土地。如果園區(qū)過(guò)大,找起來(lái)也不便宜,如果單獨(dú)咨詢室就方便多了。所以個(gè)人覺(jué)得,一個(gè)好的架構(gòu),一定是以面向?qū)ο鬄橹?,面向過(guò)程為輔。

二、目錄結(jié)構(gòu)的規(guī)劃

代碼架構(gòu)的時(shí)候,這一點(diǎn)很重要,這就好比軟件園區(qū)的大樓,不能隨便蓋,得有規(guī)律。入口文件放在什么地方,功能模塊放在什么地方,模板文件放在什么地方??傊痪湓?,安排好,配置文件,JS文件,php文件,模塊文件,CSS文件,圖片文件等。

三、單入口還是多入口

目前我了解的php框架,還是CMS基本上都是單入口的。單入口還是多入口,各有各的好。有一點(diǎn)提一下單入口肯定比多入口要好,就url的重寫(xiě)。

四、面向?qū)ο蟮膶蛹?jí)設(shè)計(jì)

一般情況下,基本上三級(jí)就夠了,底層類(lèi),基本底層的模塊類(lèi),組合模塊的應(yīng)用類(lèi)。如果是一個(gè)比較大型的網(wǎng)站,分的層級(jí)會(huì)更多。

五、數(shù)據(jù)庫(kù)類(lèi)要規(guī)劃好

這一點(diǎn)很重要,理想方式是所有sql執(zhí)行走一個(gè)類(lèi)。為什么要這樣,這是為長(zhǎng)遠(yuǎn)打算,將來(lái)做了mysql集群,或者是用了memcache之類(lèi)的nosql,轉(zhuǎn)換起來(lái)也方便,如果sql到處都有,那就郁悶了。

六、多個(gè)二級(jí)域名下的類(lèi)共用

什么意思呢,例如一個(gè)網(wǎng)站有,BBS,門(mén)戶,微博,正常思維(discuz除外,所以二級(jí)域名指向同一目錄)是對(duì)應(yīng)三個(gè)目錄,也就是有三個(gè)documentroot,共用類(lèi)最好是脫離web的目錄而存在。這樣類(lèi)可以共用,可以減少代碼冗余。

七、使用模板插件

php代碼和html代碼混著寫(xiě),我覺(jué)得不好,特別是網(wǎng)站改版,會(huì)讓你崩潰的。現(xiàn)在php代碼和html分離的模板很多,例如:smarty

八、js代碼規(guī)劃

smarty可以使php和html分離,jquery等類(lèi)似的js插件可以使js和html分離。js也是一門(mén)開(kāi)發(fā)語(yǔ)言,基于JS的插件也可以理解成一門(mén)語(yǔ)言,都有面向?qū)ο蠛兔嫦蜻^(guò)程之分。如果不規(guī)劃好,html頁(yè)面會(huì)很亂,查看源碼會(huì)發(fā)現(xiàn),一半html,一半JS。

感謝各位的閱讀!關(guān)于“php代碼架構(gòu)的注意事項(xiàng)有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

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

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

php
AI