042.CI4框架CodeIgniter,控制器过滤器Filter配合Services的使用
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、浏览器效果如下:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步