현재 위치: > 최신 기사 목록> Dework incouph 로딩을 피하기 위해 require_once ()를 사용하여 get_include_path ()를 사용하는 방법

Dework incouph 로딩을 피하기 위해 require_once ()를 사용하여 get_include_path ()를 사용하는 방법

gitbox 2025-05-26

get_include_path ()는 현재 스크립트의 포함 경로를 얻기 위해 PHP의 내장 함수입니다. 포함 된 경로는 하나 이상의 디렉토리 모음입니다. PHP를 사용하여 파일을로드하기 위해, 요구, 요구 , 요구 사항 및 기타 명령문이 포함되면 경로를 포함하는 순서 대상 파일을 찾습니다.

예를 들어 다음 코드를 실행하십시오.

 echo get_include_path();

출력은 비슷할 수 있습니다.

 .:/usr/local/lib/php

이는 PHP가 먼저 현재 디렉토리 ( . )에서 파일을 찾은 다음 /usr/local/lib/php 디렉토리에서 파일을 찾을 것임을 나타냅니다.

get_include_path ()를 합리적으로 구성하고 사용하여 개발자는 코드에 특정 디렉토리를 작성하지 않고도 파일로드 경로를 유연하게 관리 할 수 ​​있습니다.

2. 파일로드 중복을 피하려면 require_once ()를 사용하십시오

require_once ()는 파일을 소개하는 데 사용되는 PHP의 언어 구조입니다. 요구 사항 () 과 달리 require_once ()는 대상 파일이로드되었는지 확인하고 그렇다면 다시로드되지 않으므로 반복 정의 오류를 피합니다.

예:

 require_once 'config.php';  // 이전에로드 된 경우 config.php,여기에는 반복적 인 로딩이 없습니다

프로젝트에서 require_once ()를 많이 사용하여 각 파일이 한 번만로드되고 함수 또는 클래스가 반복적으로 정의되지 않도록하고 코드의 안전한 실행을 보장 할 수 있습니다.

3. 효율적인 파일 관리를 달성하기 위해 get_include_path ()와 require_once () 결합

이 둘을 결합하면보다 유연하고 효율적인 파일로드 코드를 작성할 수 있습니다. 예를 들어:

 // 현재 포함 된 경로를 얻으십시오
$includePath = get_include_path();

// 라이브러리 파일을로드해야한다고 가정하십시오 lib.php,그리고 파일은 포함 된 경로의 디렉토리에 있습니다.
require_once 'lib.php';

여기서 PHP는 lib.php를 찾고 포함 된 경로의 순서에 따라로드합니다. 요구 사항을 사용하여 여러 통화가 호출 되더라도 중복로드가로드되지 않도록하십시오.

4. 사용자 정의 포함 경로 예제

실제 프로젝트에서는 set_include_path ()를 통해 디렉토리를 동적으로 추가 할 수 있습니다.

 // 경로를 포함하도록 디렉토리를 추가하십시오
set_include_path(get_include_path() . PATH_SEPARATOR . '/var/www/gitbox.net/libs');

// 이렇게하면 간단한 통화만으로 라이브러리 파일을 가져올 수 있습니다.
require_once 'utils.php';

여기서는 포함 된 경로에 사용자 정의 디렉토리 /var/www/gitbox.net/libs 를 추가 한 후 상대 파일 이름 만 작성하여 코드를 단순화하며 하드 코딩 된 경로를 피하면됩니다.

5. 예 : 중복 파일로드를 피하기위한 모범 사례

 <?php
// 설정 포함 경로,사용자 정의 디렉토리가 포함되어 있습니다
set_include_path(get_include_path() . PATH_SEPARATOR . '/var/www/gitbox.net/includes');

// 코어 구성 파일로드
require_once 'config.php';

// 데이터베이스 연결 클래스로드
require_once 'db/Database.php';

// 도구 기능 라이브러리로드
require_once 'utils.php';

// 로드 된 클래스 및 기능 사용
$db = new Database();
$db->connect();

someUtilityFunction();
?>

위의 코드에서는 config.php , database.phputils.php 파일 수에 관계없이 한 번만로드됩니다. 포함 된 경로를 합리적으로 설정함으로써 코드는 더 간단하고 관리가 더 효율적입니다.

6. 예방 조치 및 요약

  • require_once ()를 사용하려면 우선 순위가 필요합니다 . 키 파일이 반복적으로로드되지 않도록하십시오.

  • 포함 된 경로를 합리적으로 설정하십시오 . 코드에 절대 경로를 쓰지 않고 코드 이식성을 향상시킵니다.

  • 너무 많은 레벨과 너무 긴 경로를 피하십시오 . 너무 많은 경로는 검색 오버 헤드를 증가시키고 성능에 영향을 미칩니다.

  • get_included_files ()는 디버깅에 사용할 수 있습니다 . 중복로드 문제를 해결하기 위해 현재 스크립트에서로드 된 파일 목록을보십시오.

get_include_path ()require_once ()를 결합하면 파일로드를 효과적으로 제어하고 중복로드로 인한 문제를 피하고 코드의 구성 및 실행 효율성을 향상시킬 수 있습니다.