首页 > 其他分享 >042.CI4框架CodeIgniter,控制器过滤器Filter配合Services的使用

042.CI4框架CodeIgniter,控制器过滤器Filter配合Services的使用

时间:2024-09-01 23:14:39浏览次数:3  
标签:CodeIgniter 如下 Filter Services php 042

01、Config中的Services.php代码如下:

<?php

namespace Config;

use App\Libraries\Tx_Auth;
use CodeIgniter\Config\BaseService;

class Services extends BaseService
{
    //用户权限类
    public static function user_auth($getShared = true)
    {
        echo '测试service能不能正常调用。';
        if ($getShared) {
            return static::getSharedInstance('user_auth');
        }
        return new Tx_Auth();
    }
}

02、Libraries中的Tx_Auth.php代码如下:

<?php

namespace App\Libraries;


class Tx_Auth
{
    //测试函数
    function test001()
    {
        ShowMessage('哈哈1!');
    }

}

03、MyFilter代码如下:

<?php

namespace App\Filters;

use CodeIgniter\Filters\FilterInterface;
use CodeIgniter\HTTP\RequestInterface;
use CodeIgniter\HTTP\ResponseInterface;

//use App\Config\Services;

class MyFilter implements FilterInterface
{
    public function before(RequestInterface $request,
                                            $arguments = null)
    {
        $m_auth = service('user_auth');
        $m_auth->test001();
        echo '我是Filter中的一句话。';
        //加上这一句,就不往下执行了
        //exit;
    }

    public function after(RequestInterface  $request,
                          ResponseInterface $response,
                                            $arguments = null)
    {
        // Do something here
    }
}

04、效果如下:

 05、浏览器效果如下:

 

标签:CodeIgniter,如下,Filter,Services,php,042
From: https://www.cnblogs.com/tianpan2019/p/18391921

相关文章

  • 041.CI4框架CodeIgniter,控制器过滤器Filter的使用
    01、我们在Filters目录,创建一个MyFilter.php文件<?phpnamespaceApp\Filters;useCodeIgniter\Filters\FilterInterface;useCodeIgniter\HTTP\RequestInterface;useCodeIgniter\HTTP\ResponseInterface;classMyFilterimplementsFilterInterface{publicfu......
  • Filter管道
    usingCronos;usingNewtonsoft.Json;usingSystem.Collections;usingSystem.Collections.Concurrent;usingSystem.Collections.Generic;usingSystem.Linq.Expressions;usingSystem.Reflection;usingSystem.Threading;namespaceConsoleApp1{internalcla......
  • 040.CI4框架CodeIgniter,使用Response实现前后端分离并返回JSON
    01、BaseController.php代码如下:<?phpnamespaceApp\Controllers;useCodeIgniter\Controller;useCodeIgniter\HTTP\CLIRequest;useCodeIgniter\API\ResponseTrait;useCodeIgniter\HTTP\IncomingRequest;useCodeIgniter\HTTP\RequestInterface;useCo......
  • 039.CI4框架CodeIgniter,封装Model模型绑定数据库的封装
    01、ModelBase.php代码如下:<?phpnamespaceApp\Models;useCodeIgniter\Database\ConnectionInterface;useCodeIgniter\Model;useCodeIgniter\Validation\ValidationInterface;classModelBaseextendsModel{var$Db;function__construct(Conn......
  • 037.CI4框架CodeIgniter,使用Model模型绑定数据库表
    01、我们创建一个数据库,如下:CREATETABLE`user`(`id`int(20)NOTNULLAUTO_INCREMENT,`username`varchar(255)CHARACTERSETutf8COLLATEutf8_general_ciNULLDEFAULTNULL,`userpassword`varchar(255)CHARACTERSETutf8COLLATEutf8_general_ciNULLDE......
  • Vue 过滤器(Filter)的理解与用法
    Vue.js是一个渐进式JavaScript框架,它提供了丰富的功能来构建用户界面。其中,过滤器(Filter)是一个非常有用的特性,它允许我们在模板中对数据进行格式化处理。本文将详细介绍Vue过滤器的概念、用法以及一些最佳实践。1.过滤器的基本概念1.1什么是过滤器?过滤器是Vue提供的一种......
  • 【Python进阶】Python中的函数式编程元素:map、filter和reduce的妙用
    1、函数式编程概览1.1函数式编程起源与发展函数式编程这一概念可以追溯到20世纪30年代的λ演算理论,这一时期数学家们开始探讨如何通过纯粹的函数运算来构建计算模型。随着时间的推移,函数式编程逐渐发展成为一种重要的编程范式,并在Lisp、Scheme、Haskell等语言中得到了充......
  • Cookie,Session Filter,Listener详解
    HTTP请求的无状态性HTTP的无状态性是其一个重要的特征,指的是HTTP协议本身并不保留客户端与服务器交互的历史信息,换而言之,即每次的HTTP请求都是独立的,服务器在处理每一个请求时都不会记住前一个请求的状态无状态的含义独立性:每次的HTTP请求都是独立的,不依赖于之前的请......
  • python map/filter/reduce的用法示例
    fromfunctoolsimportreducedeffunc0(a):"""a:可迭代对象的迭代元素将function应用于可迭代对象的对应元素,并返回一个迭代器,其中包含了所有映射后的结果map(function,iterable,...)function:要应用于可迭代对象的函数。iterable:要进行映射......
  • Java中stream流的filter机制理解
    一开始我并不理解,为什么filter接受一个实现了Predicate接口的对象后,就能通过重写的test方法来筛选元素,这个将筛选后的元素放到新的流中,我并不知道如何实现的。后来我发现ReferencePipeline抽象类中重写了filter方法,并且Collection中的stream方法返回的是StreamSupport.stream方法......