我正在创建一个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