目前,PHP MVC 框架在企業(yè)中越來越受歡迎,例如 Laravel、Yii、CodeIgniter、CakePHP 等。而使用 PHP MVC 框架的好處也不斷被人們所認識和使用。
第一方面,PHP MVC 框架可以將代碼進行模塊化,方便項目管理。比如 Laravel 框架,該框架將函數(shù)進行模塊化,例如 Routing、Middleware、Controller 等。使用者更加專注于各個模塊本身,而不是整個代碼架構(gòu)。這樣即便在項目開發(fā)過程中要新增功能或者修改功能,也不會影響整個項目。
//Laravel 的 Routing 模塊代碼舉例 Route::get('/', '[email protected]'); Route::get('/about', '[email protected]'); Route::get('/blog', '[email protected]');
第二方面,PHP MVC 架構(gòu)可以提高代碼復(fù)用率,遵循 DRY 原則(Don't Repeat Yourself)。在不同的控制器中,可能存在相同的部分,比如驗證、初始化等。使用者只需要通過封裝類或者基類來實現(xiàn)這些重復(fù)的操作,提高代碼的復(fù)用率。
//一個基類中封裝 User 驗證公用代碼 class BaseController extends Controller { protected function validateUser($request) { $this->validate($request, [ 'name' =>'required', 'email' =>'required', 'password' =>'required', ]); } }
第三方面,PHP MVC 框架可以使代碼更加規(guī)范化。比如之前我們提到的 Laravel 框架,其約定了 Model 層與數(shù)據(jù)表之間的對應(yīng)關(guān)系,Controller 層必須繼承基類 Controller。這樣,開發(fā)者會更加便于理解整個項目結(jié)構(gòu),更利于其他開發(fā)者(包括未來的自己)繼承和開發(fā)。
//Laravel 的 Model 及對應(yīng)數(shù)據(jù)表的映射關(guān)系 class User extends Model { protected $table = 'users'; }
綜上所述,使用 PHP MVC 框架的好處還包括代碼分層清晰、項目管理方便、規(guī)范化的開發(fā)約定、提高代碼復(fù)用率等等。當(dāng)然,目前市場上也存在著針對不同項目的無框架編程,這也是特定情況下的適用之道。總而言之,結(jié)合實際情況進行合理引用即可。