在 PHP 应用程序中,我能够创建类层次结构
class UserController extends Controller {
public function __constructor(){
//..
}
}
class LoggedUserController extends UserController {
protected $_loggedUser;
public function __constructor(){
if( empty($_SESSION['user']) ){
die('Access denied');
}
else{
$this->_loggedUser = $_SESSION['user'];
}
}
}
class MessagesController extends LoggedUserController {
public function action_get_all(){
// here I can use $this->_loggedUser and be sure that it is not empty
// Something like that:
$messages = ORM::factory('messages')->where('user_id', '=', $this->_loggedUser->id)->find_all();
}
}
以同样的方式,我可以创建类 AdminUserController 并确保控制器对非管理员用户不可用。
但是在 Node.js 中我不能使用这个技巧,因为当应用程序被加载时,控制器的构造函数只会被调用一次。
也许有一些方法可以在 Node.js 中实现这一点?