zoukankan      html  css  js  c++  java
  • TP框架的SESSION <尾部封装了一个返回字符串长度的方法>

     自动判断session是否存在

    1.session的用途

    (1)用来存用户名等信息;

    (2)防止跳过登录;

    2.如果按照以前的方式,在每个页面或者方法里面都要判断session是否存在。

    (1)造一个Fucontroller类,用来判断session是否存在。以后写方法,可以直接继承FuController类防止绕过登录

    复制代码
    复制代码
    <?php
    namespace HomeController;
    use ThinkController;
    class FuController extends Controller//造一个FuController类,用来判断session值是否存在。
    {
        public function __construct()//造一个构造函数
        {
            if(session('?uid'))//判断session是否存在,如果存在,什么也不做。
            {
                
            }
            else//如果不存在
            {
                //$url = U("Home/Login/login");
                $this->redirect("Home/Login/login",array(),5,'请登录');//第一个参数是跳转的地址,第二个参数是要传的值,
                                            第三个参数是跳转的时间,第四个参数是跳转时的提示信息。 exit; } } }
    复制代码
    复制代码

    (2)以后写操作方法的时候,注意继承的父类是FuController,而不是Controller。第一次走这个页面时会跳转到login方法里面,因为没有session值,会执行上面的$this->redirect("Home/Login/login",array(),5,'请登录') ,防止绕过登录

    (3)写一个login方法。上面的test方法跳转到login方法以后会存上session,因为有了sesion值,操作方法会继续往下执行。

    复制代码
    复制代码
    <?php
    namespace HomeController;
    use ThinkController;
    class LoginController extends Controller
    {
        public function login()
        {
            session("uid","zhangsan");//存一个session值
        }
    }
    复制代码
    复制代码
     
     


     下面的是封装的一个输出字符串长度的方法,感觉也许会以后用到便和session放到一块了


    输出字符串的长度

    1.封装的方法写在同一个控制器里面

    复制代码
    复制代码
    public function test()
        {
            $str = "volist标签通常用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数组,可以直接使用volist标签进行输出。在控制器中首先对模版赋值:";//给str一个字符串
            $m = A("Main");//造一个Main控制器的对象
            echo $m->ChangDu($str);//输出$str的长度
        }
        
        public function ChangDu($str)//ChangDu方法,输出字符串的长度。
        {
            return strlen($str);
        }
    复制代码
    复制代码

    2.封装的方法不在同一个控制器里面

    (1)在Maincontroller.class.php里面只写下面的方法

    复制代码
    复制代码
    public function test()
        {
            $str = "volist标签通常用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数组,可以直接使用volist标签进行输出。在控制器中首先对模版赋值:";//给str一个字符串
            $m = A("Main");//造一个Main控制器的对象
            echo ChangDu($str);//输出$str的长度
        }
    复制代码
    复制代码

    (2)在thinkphpApplicationHome里面写封装的方法functions.php,内容如下

    <?php
    function ChangDu($str)
    {
        return strlen($str);
    }

    (3)这样写完以后在浏览器中输入http://localhost/thinkphp/index.php/Home/Main/test读取不到字符串的长度,还需要在配置文件里面加上一句代码:

    "LOAD_EXT_FILE"=>"functions",//自动加载函数库类

    还是那个这句代码后才能读取到字符串的长度。

  • 相关阅读:
    ASCII码表记忆规律
    Live Photos原理
    FAAS -- Serverless
    wasm能力检测
    守则
    split分割文件
    个人开源项目:微服务全栈技术学习开源项目,涵盖Java及前端主流技术点
    采用React+Ant Design组件化开发前端界面(一)
    SpringBoot 2.0中SpringWebContext 找不到无法使用的问题解决
    [做全栈攻城狮]程序员带你学习安卓开发-安卓基础之网络编程 大汇总
  • 原文地址:https://www.cnblogs.com/cyd123/p/7145962.html
Copyright © 2011-2022 走看看