定義
提供一個集中的請求處理機制,所有的請求都將由一個單一的處理程式處理。
結構中包含的角色
- 前端控制器(Front Controller)
- 排程器(Dispatcher)
- 檢視(View)
最小可表達程式碼
class View
{
public function show($request)
{
echo('SHOW ' . $request);
}
}
class Dispatcher
{
private $view;
public function __construct()
{
$this->view = new View();
}
public function dispatch($request)
{
return $this->view->show($request);
}
}
class FrontController
{
private $dispatcher;
public function __construct()
{
$this->dispatcher = new Dispatcher();
}
public function dispatchRequest(String $request)
{
$this->dispatcher->dispatch($request);
}
}
$frontController = new FrontController();
$frontController->dispatchRequest("TEST");
實際應用場景
- 認證
- 授權
- 記錄日誌
- 跟蹤請求
本作品採用《CC 協議》,轉載必須註明作者和本文連結