ThinkPHP框架 祖辈分的理解 【儿子 FenyeController】继承了【父亲 FuController】继承了【祖辈 Controller】的
注:系统自带的Controller方法代表的是祖辈 FuController控制器是自定义的,代表父亲。。。 FenyeController控制器就代表着儿子
【儿子 FenyeController】继承了【父亲 FuController】继承了【祖辈 Controller】的
在模块控制器Controller文件夹里创建一个简单的 LoginController.class.php控制器
<?php
namespace Admin\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
session('uid','zhangsan');//存一个session值
}
}
在模块控制器Controller文件夹里创建一个简单的 FuController.class.php控制器
<?php
namespace Admin\Controller;
use Think\Controller;
class FuController extends Controller{//造一个FuController控制器,用来判断session值是否存在。
public function __construct(){//造一个构造函数
parent::__construct(); //调用父类构造 不调用此方法再次访问显示页面时会报错!
if(session("?uid")){//判断session是否存在,如果存在,什么也不做。
}else{//如果不存在就将它直接打回登录页面去登录
$this->redirect("Admin/Login/login", array(), 3, '请登录....');//第一个参数是跳转的地址,第二个参数是要传的值,第三个参数是跳转的时间,第四个参数是跳转时的提示信息。
exit;
}
}
}
<?php
namespace Admin\Controller;
use Admin\Controller\FuController;
class FenyeController extends FuController{//这里继承的父类更改为FuController
public function xianshi(){
$c = D("chinastates");
$shuliang = $c->count();//求出总数量
$page = new \Admin\page\Page($shuliang,15);//分页类对象
//var_dump($page);
$xinxi = $page->fpage();//调出fpage()分页信息
$attr = $c->limit($page->limit)->select();//调出分页里的limit()方法,
$this->assign("shuju",$attr);
$this->assign("xinxi",$xinxi);
$this->show();
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?