개발자의 끄적끄적

[php] codeigniter4 library autoload 방법 본문

개발/php

[php] codeigniter4 library autoload 방법

효벨 2024. 6. 29. 01:00
728x90
반응형

[php] codeigniter4 library autoload 방법

 

 

 

php framework 중에서 

 

codeigniter4 버전을 이용해 홈페이지를 개발하다보면

 

라이브러리는 autoload 하고 싶은 경우가 있습니다!

 

원래 3버전에서는 autoload.php 파일에 라이브러리 클래스명을 추가하면 가능했는데,

 

4버전으로 업그레이드 되면서 달라졌습니다!

 

생각보다 간단하니 아래 내용을 참고하시면 됩니다!

 

 

1. TestLib 라는 파일을 autoload 하려면 우선 아래와 같이 Libraries/TestLib.php 파일을 생성합니다.

<?php

namespace App\Libraries;
use App\Controllers\BaseController;

class TestLib extends BaseController
{

    public function __construct()
    {
        // to do ...
    }
}

 

 

 

 

 

2. controllers/BaseController.php 파일을 열어서 아래와 같이 수정합니다!

<?php

namespace App\Controllers;
use App\Libraries\TestLib;

abstract class BaseController extends Controller
{

    protected $request;


    protected $helpers = [];


    protected $testLib;

    public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
    {
        // Do Not Edit This Line
        parent::initController($request, $response, $logger);

        $this->testLib = new TestLib();
    }
}

 

위 내용 보시면 아시겠지만,

 

사용할 라이브러리를 우선 선언하고

 - use App\Libraries\TestLib;

 

해당 라이브러리를 초기화할 변수를 선언하고,

 - protected $testLib;

 

라이브러리를 초기화해서 변수에 담아줍니다.

 - $this->testLib = new TestLib();

 

순서대로 진행하면, 모든 액션에서 호출되는 baseController 가 라이브러리를 매번 호출하게 됩니다!

 

즉, autoload 가 되는겁니다!

 

참고들 하세요!

 

 

[php] PHP Fatal error: Call to undefined function imagecreatefrompng() 에러 해결 방법

[php] PHP Fatal error: Call to undefined function imagecreatefrompng() 에러 해결 방법  php 에서 이미지를 변환하거나 하는등 기타 이미지 관련 작업을 실행하려면 라이브러리가 필요합니다! 바로 GD

solbel.tistory.com

 

반응형
Comments