一、TP父类方法继承

session用法

用登录页面做例子

  1. <?php
  2. namespace Home\Controller;
  3. use Think\Controller;
  4. class LoginController extends Controller{
  5. public function login(){
  6. //显示页面,实现登录
  7. if(empty($_POST)){
  8. $this->show();
  9. }else{
  10. //处理登录逻辑
  11. $uid = $_POST["uid"];
  12. $pwd = $_POST["pwd"];
  13.  
  14. $db = D("Users");
  15. $arr = $db->find($uid);
  16. if($arr["pwd"]==$pwd&&!empty($pwd)){
  17.  
  18. session("uid",$uid);
  19. //启动session
  20.  
  21. $url = U("Index/index");//不同控制器下的方法要写控制器名
  22. //不在不同模块下要加上模块名
  23. $this->success("登录成功!",$url);
  24. }else{
  25. $this->error("登陆失败!");//默认跳转到上一个界面
  26. }
  27. }
  28. }
  29. }

在以后做项目中有可能做好多页面都需要加session,为了减少代码量可以做个父类,让后面的方法继承就可以了

新建个父类

  1. <?php
  2. namespace Home\Controller;
  3. use Think\Controller;
  4. class BaseController extends Controller{
  5.  
  6. public function __construct(){
  7. parent::__construct();
  8. if(session("?uid")){
  9.  
  10. }else{
  11. $this->redirect('Login/login',array(),0,'');
  12. exit;
  13. }
  14. }
  15. }

index方法继承

  1. <?php
  2. namespace Home\Controller;
  3. use Home\Controller\BaseController;
  4. class IndexController extends BaseController{
  5.  
  6. public function index(){
  7. echo session("uid");
  8. }
  9.  
  10. }

登录后

如果直接打开登陆后的页面,会直接跳转回登录页

二、父类模板继承

新建新的文件

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title></title>
  6. <block name="tou"></block>
  7. </head>
  8.  
  9. <body>
  10. <div style="width:100%;height:60px;background-color:green;"></div>
  11.  
  12. <block name="neirong"></block>
  13. <div style="width:100%;height:100px;background-color:blue;"></div>
  14. </body>
  15. </html>

  1. <?php
  2. namespace Home\Controller;
  3. use Home\Controller\BaseController;
  4. class IndexController extends BaseController{
  5.  
  6. public function index(){
  7. $this->show();
  8. }
  9.  
  10. }
  1. <extend name="Base:base" />
  2. <block name="tou">
  3. <style type="text/css">
  4. #nr{
  5. width:100%;
  6. height:200px;
  7. background-color:yellow;
  8. }
  9. </style>
  10. </block>
  11.  
  12. <block name="neirong">
  13. <div id="nr" ></div>
  14. </block>

  1. <?php
  2. namespace Home\Controller;
  3. use Think\Controller;
  4. class BaseController extends Controller{
  5.  
  6. public function __construct(){
  7. parent::__construct();
  8. if(session("?uid")){
  9.  
  10. }else{
  11. $this->redirect('Login/login',array(),0,'');
  12. exit;
  13. }
  14. //父类模板所需要的数据
  15. $db = D("rules");
  16. $arr = $db->select();
  17. $this->assign("menu",$arr);
  18. }
  19.  
  20. }
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title></title>
  6. <block name="tou"></block>
  7. </head>
  8.  
  9. <body>
  10. <div style="width:100%;height:60px;background-color:green;">
  11. <foreach name="menu" item="v">
  12. <span style="color:#fff;">{$v.name}</span>
  13. </foreach>
  14. </div>
  15.  
  16. <block name="neirong"></block>
  17. <div style="width:100%;height:100px;background-color:blue;"></div>
  18. </body>
  19. </html>

TP父类及模板继承的更多相关文章

  1. tp框架之模板继承

    模板继承是一项更加灵活的模板布局方式,模板继承不同于模板布局,甚至来说,应该在模板布局的上层.模板继承其实并不难理解,就好比类的继承一样,模板也可以定义一个基础模板(或者是布局),并且其中定义相关的区 ...

  2. tp框架---View视图层---模板继承(举例说明)

    当我们做动态页面时,我们会发现一个网站的头部和尾部是相同的,那么我们如何用tp框架来做模板呢 ? 先看一下注意事项: (1)每个区块由<block></block>标签组成 ( ...

  3. tp框架视图层view——模板继承

    在做网站的时候,每个网站都有头部和尾部,也就是菜单栏和页脚,网站的各个子网页的头部和尾部基本就是一样的,所以tp框架提供了一种模板继承的方法: 1.首先在View的Main文件夹下建立一个base.h ...

  4. Django 中url补充以及模板继承

    Django中的URL补充 默认值 在url写路由关系的时候可以传递默认参数,如下: url(r'^index/', views.index,{"name":"root& ...

  5. Django(五)框架之模板继承和静态文件配置

    https://www.cnblogs.com/haiyan123/p/7731959.html 一.模板继承 目的是:减少代码的冗余 语法: {% block classinfo %} {% end ...

  6. Django框架之模板继承和静态文件配置

    一.模板继承 目的是:减少代码的冗余 语法: {% block classinfo %} {% endblock %} 具体步骤: 1.创建一个base.html文件,2.把要显示的页面的内容写在这里 ...

  7. thinkPHP框架 简单的删除和修改数据的做法 和 模板继承的意思大概做法

    BiaodanController.class.php控制器页面 <?php namespace Admin\Controller; use think\Controller; class Bi ...

  8. Django框架----模板继承和静态文件配置

    母板 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8& ...

  9. Python学习---django模板继承180123

    django模板继承  --20180123 a.include 模板标签 b.extend(继承)模板标签 ------include 模板标签 该标签允许在(模板中)包含其它的模板的内容. 标签的 ...

随机推荐

  1. RabbitMQ性能优化

    修改rabbitmq.config文件 rabbitmq.config文件时rabbitmq的配置文件,他遵守Erlang配置文件定义. rabbitmq.config文件位置: Unix $RABB ...

  2. Delphi 打开网址

    1. 通过iexplore.exe打开:ShellExecute(0, 'open', 'iexplore.exe', PChar('http://www.100xuekao.com'), '', S ...

  3. oracle日志归档空间清理

    进入机器,设置环境变量,如: export ORACLE_HOME=/main/app/oracle/product//db_1 export ORACLE_SID=devdb 然后切换oracle用 ...

  4. oracle按照指定列分组合计group by rollup()

    group by rollup() 按分组合计 select grouping(status),status,owner,object_type,count(*) from dba_objects w ...

  5. 10.6-uC/OS-III内部任务(统计任务 OS_StatTask())

    1.这个任务能够统计总的CPU使用率(0到100%),每个任务的CPU使用率( 0到100%),每个任务的堆栈使用量. 2.统计任务在uC/OS-III中是可选的,当设置OS_CFG.H中的OS_CF ...

  6. SQL专家云监控

    SQL专家云监控:http://www.zhuancloud.com/Index.html

  7. 前端 HTML body标签相关内容 常用标签 表单标签 form里面的 label标签介绍

    定义:<label> 标签为 input 元素定义标注(标记). label标签功能:关联input标签文本与表达元素,点击input标签文本时,如同点击表单元素一样. label标签是行 ...

  8. 各大知名区块链交易所链接及API文档链接

    区块链交易所链接 火币网(Huobi):https://www.huobi.br.com/zh-cn/ API文档:https://github.com/huobiapi/API_Docs/wiki ...

  9. kafka3 本地目录结构以及在在zk上的znode

    一 kafka本地目录结构 [root@hadoop ~]# cd /tmp/kafka-logs1 [root@hadoop kafka-logs1]# find . . ./.lock ./rec ...

  10. 控制input框只能粘贴,不能输入

    .禁用文本框的onkeydown事件 <input type="text" onkeydown="return false"> .改造,可以使用ct ...