[php] PHP CodeIgniter 컨트롤러 미들웨어

도입

이 블로그 포스트에서는 PHP CodeIgniter 프레임워크에서 미들웨어를 사용하여 컨트롤러 액션 전후에 실행되는 코드를 구현하는 방법을 알아보겠습니다.

CodeIgniter 미들웨어란?

미들웨어는 HTTP 요청 전후에 실행되는 코드 조각입니다. CodeIgniter에서 미들웨어를 사용하면 컨트롤러의 액션 전후에 필요한 전처리나 후처리 작업을 할 수 있습니다.

CodeIgniter 미들웨어 작성

  1. 먼저 application/Middleware 폴더에 새로운 미들웨어 파일을 만듭니다. 예를 들어, Logger.php 파일을 만들어보겠습니다.
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Logger
{
    public function __construct()
    {
        // 생성자
    }

    public function before()
    {
        // 액션 실행 전 코드
    }

    public function after()
    {
        // 액션 실행 후 코드
    }
}
  1. 생성한 미들웨어 파일에 before 메소드와 after 메소드를 구현하여 각각 액션 실행 전과 후에 실행할 작업을 정의합니다.

미들웨어 사용

미들웨어를 사용하려면 이미 존재하는 컨트롤러에서 미들웨어를 호출하거나 라우팅할 액션에 미들웨어를 연결해야 합니다.

class Welcome extends CI_Controller 
{
    public function index()
    {
        $this->load->middleware('logger');
        // 액션 코드
    }
}

위와 같이 미들웨어를 사용하려는 컨트롤러의 액션에서 load->middleware 메소드를 사용하여 미들웨어를 호출할 수 있습니다.

이렇게 하면 Logger 미들웨어의 before 메소드가 index 액션 실행 전에, 그리고 after 메소드가 실행 후에 호출됩니다.

결론

CodeIgniter의 미들웨어를 사용하면 컨트롤러의 액션 전후에 원하는 코드를 실행시킬 수 있어서 효율적으로 전처리나 후처리 작업을 수행할 수 있습니다.

참고 문헌: