php - CodeIgniter4 - 来自控制器的所有方法的前提条件
问题描述
我正在使用 CodeIgniter 4。
我有 2 个控制器:
<?php namespace App\Controllers;
class Dashboard extends BaseController{
public function index(){
//pre-condition - logged
if(!$this->session->has("email")){
//go to login
return redirect()->route("login");
}
return view("dashboard");
}
}
//---------------------
class Profile extends BaseController{...}
在这 2 个控制器中,我有一些方法代表路由/dashboard
、、/profile
等/profile/settings
。
在每种方法中,我都有相同的预编码if(...){ return redirect()->route("login"); }
。
此前提条件检查用户是否已登录。
我如何将这个前提条件设置为来自控制器的所有方法,而无需重写来自Dashboard
and的每个方法Profile
?
解决方案
function __construct()
{
parent::__construct();
if ( ! $this->session->userdata('logged_in'))
{
redirect('login');
}
}
推荐阅读
- c# - 为什么这个 WaitLock 卡住了?
- python - 在我的寡妇 7 专业机器上安装 python 时遇到问题
- python - 必须以管理员-python 运行
- node.js - 从 MongoDB 聚合函数接收的数组不可迭代
- python - python中的双重调用
- javascript - 如何使用 JS/CSS 将数字设置为 PRE
- sql - 当没有相关记录时,无法使用日期过滤器显示记录
- java - 是否可以根据实际类中的局部变量为方法调用返回模拟对象?
- python-3.x - Frozen Issue while opening an existing file
- python - BrowserMob Proxy with Python - The Browsermob-Proxy server process failed to start - Seeing Operation not permitted in server.log