我正在創建一個MVC文件結構的購物車,並且我有一個購物車控制器 ,它有一組前端和後端的功能。PHP MVC類結構
Class ShoppingCartController{
//frontend function
public function viewCart(){
//do something
require 'view/viewCart.php';
}
//backend function
public function viewOrders(){
//do something
require 'view/viewOrders.php';
}
}
$controll = new ShoppingCartController();
if(isset($_GET['action']) && in_array($_GET['action'], get_class_methods($controll))){
call_user_func(array($controll, $_GET['action']));
}
我想要做的就是防止任何來自前端的人能夠調用後端函數。所以我想我會設置保護功能並編寫兩個擴展類來管理權限。像這樣
Class ShoppingCartController{
//frontend function
protected function viewCart(){
//do something
require 'view/viewCart.php';
}
//backend function
protected function viewOrders(){
//do something
require 'view/viewOrders.php';
}
}
Class ShoppingCartFrontendController Extends ShoppingCartController{
//frontend function
public function viewCartExtended(){
//do something
$this->viewCart();
}
}
Class ShoppingCartBackendController Extends ShoppingCartController{
//backend function
public function viewOrdersExtended(){
//do something
$this->viewOrders();
}
}
難道大家都會這樣做還是有更好的辦法?
實際上,這是一個更好的方法。使用現成的框架,或至少看看他們是如何做到的。我保證,你會從他們那裏得到很多靈感。 – zafarkhaja