首頁?>?知識?資訊?>?php Wisers網(wǎng)站技術(shù)運維服務(wù)說明 ?>?正文

php Wisers網(wǎng)站技術(shù)運維服務(wù)說明

2021/6/24 0:00:00 · 稿源:傳誠信



一、技術(shù)部分

后端基于thinkphp5.1框架

簡介

ThinkPHP是一個開源的,快速、簡單的面向?qū)ο蟮妮p量級PHP開發(fā)框架,是為了敏捷WEB應(yīng)用開發(fā)和簡化企業(yè)應(yīng)用開發(fā)而誕生的。ThinkPHP從誕生以來一直秉承簡潔實用的設(shè)計原則,在保持出色的性能和至簡的代碼的同時,也注重易用性。遵循Apache2開源許可協(xié)議發(fā)布,開發(fā)文檔健全。

?

命名規(guī)范

ThinkPHP5遵循PSR-2命名規(guī)范和PSR-4自動加載規(guī)范,并且注意如下規(guī)范:

目錄和文件

·?目錄使用小寫+下劃線;

·?類庫、函數(shù)文件統(tǒng)一以.php為后綴;

·?類的文件名均以命名空間定義,并且命名空間的路徑和類庫文件所在路徑一致;

·?類文件采用駝峰法命名(首字母大寫),其它文件采用小寫+下劃線命名;

·?類名和類文件名保持一致,統(tǒng)一采用駝峰法命名(首字母大寫);

函數(shù)和類、屬性命名

·?類的命名采用駝峰法(首字母大寫),例如?User、UserType,默認(rèn)不需要添加后綴,例如UserController應(yīng)該直接命名為User;

·?函數(shù)的命名使用小寫字母和下劃線(小寫字母開頭)的方式,例如?get_client_ip;

·?方法的命名使用駝峰法(首字母小寫),例如?getUserName

·?屬性的命名使用駝峰法(首字母小寫),例如?tableName、instance;

·?以雙下劃線“__”打頭的函數(shù)或方法作為魔術(shù)方法,例如?__call??__autoload;

常量和配置

·?常量以大寫字母和下劃線命名,例如?APP_PATH?THINK_PATH;

·?配置參數(shù)以小寫字母和下劃線命名,例如?url_route_on?url_convert;

數(shù)據(jù)表和字段

·?數(shù)據(jù)表和字段采用小寫加下劃線方式命名,并注意字段名不要以下劃線開頭,例如?think_user?表和?user_name字段,不建議使用駝峰和中文作為數(shù)據(jù)表字段命名。

應(yīng)用類庫命名空間規(guī)范

應(yīng)用類庫的根命名空間統(tǒng)一為app(不建議更改,可以設(shè)置app_namespace配置參數(shù)更改,V5.0.8版本開始使用APP_NAMESPACE常量定義);
例如:
app\index\controller\Indexapp\index\model\User

?

目錄結(jié)構(gòu)

目錄結(jié)構(gòu)

?

架構(gòu)總覽

ThinkPHP5.0應(yīng)用基于MVC(模型-視圖-控制器)的方式來組織。

MVC是一個設(shè)計模式,它強制性的使應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分成三個核心部件:模型(M)、視圖(V)、控制器(C),它們各自處理自己的任務(wù)。

5.0URL訪問受路由決定,如果關(guān)閉路由或者沒有匹配路由的情況下,則是基于:

http://serverName/index.php(或者其它應(yīng)用入口文件)/模塊/控制器/操作/參數(shù)/

下面的一些概念有必要做下了解,可能在后面的內(nèi)容中經(jīng)常會被提及。

入口文件

用戶請求的PHP文件,負(fù)責(zé)處理一個請求(注意,不一定是URL請求)的生命周期,最常見的入口文件就是index.php,有時候也會為了某些特殊的需求而增加新的入口文件,例如給后臺模塊單獨設(shè)置的一個入口文件admin.php或者一個控制器程序入口think都屬于入口文件。

應(yīng)用

應(yīng)用在ThinkPHP中是一個管理系統(tǒng)架構(gòu)及生命周期的對象,由系統(tǒng)的?\think\App類完成,應(yīng)用通常在入口文件中被調(diào)用和執(zhí)行,具有相同的應(yīng)用目錄(APP_PATH)的應(yīng)用我們認(rèn)為是同一個應(yīng)用,但一個應(yīng)用可能存在多個入口文件。

應(yīng)用具有自己獨立的配置文件、公共(函數(shù))文件。

模塊

一個典型的應(yīng)用是由多個模塊組成的,這些模塊通常都是應(yīng)用目錄下面的一個子目錄,每個模塊都有自己獨立的配置文件、公共文件和類庫文件。

5.0支持單一模塊架構(gòu)設(shè)計,如果你的應(yīng)用下面只有一個模塊,那么這個模塊的子目錄可以省略,并且在應(yīng)用配置文件中修改:

'app_multi_module'?=> false,?

控制器

每個模塊擁有獨立的MVC類庫及配置文件,一個模塊下面有多個控制器負(fù)責(zé)響應(yīng)請求,而每個控制器其實就是一個獨立的控制器類。

控制器主要負(fù)責(zé)請求的接收,并調(diào)用相關(guān)的模型處理,并最終通過視圖輸出。嚴(yán)格來說,控制器不應(yīng)該過多的介入業(yè)務(wù)邏輯處理。

事實上,5.0中控制器是可以被跳過的,通過路由我們可以直接把請求調(diào)度到某個模型或者其他的類進行處理。

5.0的控制器類比較靈活,可以無需繼承任何基礎(chǔ)類庫。

一個典型的Index控制器類如下:

namespace app\index\controller;??class Index??{?????public function?index()?????{?????????return?'hello,thinkphp!';?????}?}?

操作

一個控制器包含多個操作(方法),操作方法是一個URL訪問的最小單元。

下面是一個典型的Index控制器的操作方法定義,包含了兩個操作方法:

namespace app\index\controller;??class Index??{?????public function?index()?????{?????????return?'index';?????}??????????public function?hello($name)?????{?????????return?'Hello,'.$name;?????}?}?

操作方法可以不使用任何參數(shù),如果定義了一個非可選參數(shù),則該參數(shù)必須通過用戶請求傳入,如果是URL請求,則通常是$_GET或者$_POST方式傳入。

模型

模型類通常完成實際的業(yè)務(wù)邏輯和數(shù)據(jù)封裝,并返回和格式無關(guān)的數(shù)據(jù)。

模型類并不一定要訪問數(shù)據(jù)庫,而且在5.0的架構(gòu)設(shè)計中,只有進行實際的數(shù)據(jù)庫查詢操作的時候,才會進行數(shù)據(jù)庫的連接,是真正的惰性連接。
ThinkPHP的模型層支持多層設(shè)計,你可以對模型層進行更細(xì)化的設(shè)計和分工,例如把模型層分為邏輯層/服務(wù)層/事件層等等。

視圖

控制器調(diào)用模型類后返回的數(shù)據(jù)通過視圖組裝成不同格式的輸出。視圖根據(jù)不同的需求,來決定調(diào)用模板引擎進行內(nèi)容解析后輸出還是直接輸出。

視圖通常會有一系列的模板文件對應(yīng)不同的控制器和操作方法,并且支持動態(tài)設(shè)置模板目錄。

驅(qū)動

系統(tǒng)很多的組件都采用驅(qū)動式設(shè)計,從而可以更靈活的擴展,驅(qū)動類的位置默認(rèn)是放入核心類庫目錄下面,也可以重新定義驅(qū)動類庫的命名空間而改變驅(qū)動的文件位置。

行為

行為(Behavior)是在預(yù)先定義好的一個應(yīng)用位置執(zhí)行的一些操作。類似于AOP編程中的切面的概念,給某一個切面綁定相關(guān)行為就成了一種類AOP編程的思想。所以,行為通常是和某個位置相關(guān),行為的執(zhí)行時間依賴于綁定到了哪個位置上。

要執(zhí)行行為,首先要在應(yīng)用程序中進行行為偵聽,例如:

// app_init位置偵聽行為?\think\Hook::listen('app_init');?

然后對某個位置進行行為綁定:

// 綁定行為到app_init位置?\think\Hook::add('app_init','\app\index\behavior\Test');?

一個位置上如果綁定了多個行為的,按照綁定的順序依次執(zhí)行,除非遇到中斷。


前端基于React框架

l?關(guān)于服務(wù)器配置建議

服務(wù)器配置建議


二、技術(shù)運維服務(wù)內(nèi)容

一年的技術(shù)維護服務(wù)內(nèi)容包括:在乙方服務(wù)責(zé)任范圍內(nèi)保證網(wǎng)站的正常運行使用。但不包括因非本合同內(nèi)乙方提供的服務(wù)器、網(wǎng)絡(luò)等因素引起的訪問故障、因非乙方人員錯誤操作所造成的運行故障或網(wǎng)站結(jié)構(gòu)的改變、設(shè)計風(fēng)格的改變和功能模塊的增加、網(wǎng)站內(nèi)容維護。詳情如下:

?

1、安全漏洞修補
對由甲方或甲方委托的第三方安全技術(shù)代理公司查出的安全漏洞進行代碼修補。


2、災(zāi)難修復(fù)
若正式上線的服務(wù)器,即網(wǎng)站服務(wù)環(huán)境發(fā)生崩潰,配合甲方公司進行系統(tǒng)的恢復(fù)工作,恢復(fù)到系統(tǒng)交接時的狀態(tài),即正式上線節(jié)點時狀態(tài),數(shù)據(jù)需由甲方公司提供數(shù)據(jù)庫備份文件和用戶文件(上傳文件)備份。


3、技術(shù)保障
3.1對于使用方面的問題,提供電話維護。
3.2維護項目包括由于系統(tǒng)設(shè)計問題而出現(xiàn)的系統(tǒng)故障、系統(tǒng)運行錯誤。非軟件系統(tǒng)設(shè)計問題,如:硬件損壞、使用者操作不當(dāng)、使用者惡意行為造成的系統(tǒng)問題故障不含在維護范圍內(nèi)。

?

二、?服務(wù)方式

出現(xiàn)問題或故障后,甲方通過郵件/電話等形式向乙方提出要求,乙方根據(jù)甲方要求的以下一種或幾種服務(wù)方式為甲方提供服務(wù):

1、電話應(yīng)答服務(wù)

乙方為甲方指定經(jīng)驗豐富的專職人員,與甲方相關(guān)人員對接。負(fù)責(zé)解答、幫助處理在使用過程中所遇到的故障或困難。

2、遠(yuǎn)程桌面協(xié)作服務(wù)

甲方須向乙方開放服務(wù)器的遠(yuǎn)程桌面服務(wù),以便于乙方對甲方的網(wǎng)站系統(tǒng)進行正常的維護和故障排除。

乙方承諾未經(jīng)甲方書面許可,不將甲方服務(wù)器任何信息向任意第三方傳播,否則應(yīng)當(dāng)賠償由此給甲方造成的損失。此義務(wù)不因本合同的終止而終止。

?

3、上門服務(wù)

如確有必要,經(jīng)由甲乙雙方協(xié)商,指定專業(yè)人員,上門服務(wù)。


三、?服務(wù)響應(yīng)時間

1.工作日響應(yīng)時間為:5*8小時

2.出現(xiàn)上述問題或其他異常問題,甲方通過郵件的形式向乙方提出要求后,乙方將在24小時內(nèi)(以甲方發(fā)出的郵件記錄的時間為起點)處理完成。

3.若有突發(fā)或緊急情況不在工作時間內(nèi),可與項目經(jīng)理協(xié)商極速解決。

?

四、?后期托管維護內(nèi)容清單和報價

設(shè)計人/天:1500(元)

技術(shù)人/天:2500(元)

分類

項目名稱

說明

人天

備注

Banner設(shè)計

手繪/合成

根據(jù)客戶實際內(nèi)容資料及使用場景,進行banner圖設(shè)計

3.0


一級欄目設(shè)計


根據(jù)主題及內(nèi)容要求,進行頁面設(shè)計(高度在3屏內(nèi))

6.0


二級欄目設(shè)計


根據(jù)主題及內(nèi)容要求,進行頁面設(shè)計(高度在6屏內(nèi))

3.5


頁面制作


根據(jù)網(wǎng)站UI設(shè)計進行JS腳本開發(fā),如頁面交互效果的實現(xiàn)。

將設(shè)計稿按W3C標(biāo)準(zhǔn)HTML頁面進行制作、兼容pc端:ie9+,chrome 59+,firefox 54+,safari 10.1+;移動端:ios的safari,Andriod,F(xiàn)lyme,MIUI,ColorOS,EMUI 默認(rèn)瀏覽器,微信、微博內(nèi)置瀏覽器,品牌瀏覽器firefox,opera,chrome,UC,QQ,360,百度瀏覽器中頁面響應(yīng),展示最佳效果。

2.0


icon設(shè)計

icon設(shè)計

頁面中的獨立icon設(shè)計

1.0


技術(shù)部分


前端+后臺服務(wù)

根據(jù)實際需求評估人/天


備注說明:

*?價格為服務(wù)人/天單價,最終以實際作業(yè)數(shù)量核算。

* 不包含正版圖片等采購費用


  • 相關(guān)推薦
  • 大家在看
熱文
  • 熱門
  • 最新
客戶服務(wù)
咨詢熱線

010-62199213

24小時咨詢熱線

139-1050-5354