PHP

autoloader 사용법 (PSR-4)

제주도 조랑말 2024. 12. 4. 14:14
728x90

autoloader는 include 또는 require 중복을 없애고 class 폴더를 쉽게 가져오기 위함

여기서 경로만 수정해주면 된다.

 

/src/autoloader.php

<?php
    spl_autoload_register(function ($class_name) {
        $preg_match = preg_match('/^ZipStream\\\src\\\/', $class_name);

        if (1 === $preg_match) {
            $class_name = preg_replace('/\\\/', '/', $class_name);
            $class_name = preg_replace('/^ZipStream\\/src\\//', '', $class_name);
            require_once(__DIR__ . '/../src/' . $class_name . '.php');
        }
    });
?>

 

 

index.php

 

require_once './../Classes/ZipStream/src/autoloader.php';


try {
    // 객체 생성 테스트
    $test = new \ZipStream\src\TestClass();
    echo $test->sayHello(); // 메서드 호출
} catch (Throwable $e) {
    // 오류 발생 시
    echo "Error: " . $e->getMessage();
}

 

 

ZipStream/src/TestClass.php

<?php
namespace ZipStream\src;

class TestClass {
    public function sayHello() {
        return "Hello, ZipStream is working!";
    }
}
?>
728x90

'PHP' 카테고리의 다른 글

PHP : 함수 위치 찾기, 정의된 함수 찾기  (0) 2024.08.12
html purifier  (0) 2024.07.25
PHP : 사진 업로드 개수 조정  (0) 2024.02.26
PHP 메모리 확인  (0) 2024.01.17
php, apache // .htaccess 에러 표시  (1) 2024.01.08