get_include_path () 함수는 현재 포함 경로를 얻는 데 사용됩니다. PHP는이 경로 목록의 순서대로 파일을 찾는 결장 구분 경로 목록을 반환합니다. 포함 또는 요구 사항과 같은 함수를 사용하면 PHP는 이러한 경로에서 대상 파일을 차례로 찾습니다.
<?php
// 현재 포함 된 경로를 가져옵니다
$current_path = get_include_path();
echo "현재 포함 경로는 다음과 같습니다: " . $current_path;
?>
기본적으로 PHP에는 현재 디렉토리 ( . ) 및 PHP의 표준 라이브러리 경로 (일반적으로 PHP 설치 디렉토리의 PHP 폴더)가 포함됩니다.
set_include_path () 함수는 php의 포함 경로를 설정하거나 업데이트하는 데 사용됩니다. 이 기능을 사용하면 특정 경로를 추가, 수정 또는 삭제하여 파일을 찾을 때 PHP가 이러한 경로를 고려할 수 있습니다.
<?php
// 새로운 포함 경로를 설정하십시오
set_include_path('/var/www/html/includes');
// 현재 포함 된 경로를 가져옵니다
$current_path = get_include_path();
echo "새로운 포함 경로가 포함됩니다: " . $current_path;
?>
set_include_path ()를 사용하여 포함 된 경로를 일시적으로 수정하여 후속 파일 검색 작업에 영향을 미칩니다.
get_include_path () 및 set_include_path () 를 합리적으로 사용하면 PHP 프로젝트에 경로가 포함 된 파일을 유연하게 관리 할 수 있습니다. 일반적인 관행은 다른 요구에 따라 프로그램의 다른 경로를 설정하는 것입니다.
여러 하위 모듈 및 라이브러리 파일이 포함 된 PHP 프로젝트가 있다고 가정합니다. get_include_path () 를 통한 경로 포함 현재 포함 된 경로를 얻은 다음 Set_include_path ()를 사용하여 현재 경로 전후에 새 경로를 추가 할 수 있습니다.
<?php
// 현재 포함 된 경로를 얻으십시오
$current_path = get_include_path();
echo "현재 포함 된 경로: " . $current_path . "<br>";
// 현재 경로에 새로운 경로를 추가 한 후
$new_path = $current_path . PATH_SEPARATOR . '/var/www/html/libraries';
set_include_path($new_path);
// 새로 포함 된 경로를 확인하십시오
echo "업데이트 된 경로 포함: " . get_include_path();
?>
이 예에서는 먼저 get_include_path () 를 통해 현재 경로를 얻은 다음 set_include_path ()를 사용하여 새 경로를 원래 경로로 추가합니다. Path_Separator는 다른 운영 체제에서 경로를 올바르게 분리하는 데 사용되는 일정입니다. Linux 및 MacOS는 콜론을 사용합니다 . Windows는 세미콜론을 사용합니다 . .
대규모 프로젝트에서는 포함 경로를 잘 관리하는 것이 특히 중요합니다. 다음은 몇 가지 일반적인 응용 프로그램 시나리오입니다.
PHP의 자동 로딩 메커니즘 (예 : PSR-4 표준)을 사용하면 포함 경로에 여러 디렉토리를 추가해야 할 수도 있습니다. 포함 경로를 합리적으로 설정하면 PHP가 필요한 모든 클래스 파일을 찾을 수 있습니다.
<?php
// 자동 로딩 디렉토리를 설정합니다
set_include_path('/var/www/html/classes' . PATH_SEPARATOR . get_include_path());
// 자동으로 클래스를로드합니다
spl_autoload_register(function ($class) {
include $class . '.php';
});
// 자동 로딩 테스트
$obj = new SomeClass();
?>
여러 모듈이있는 시스템을 개발하는 경우 각 모듈의 경로를 포함 경로에 추가하여 다른 모듈 간 파일이 서로 독립하여 올바르게 찾을 수 있도록 할 수 있습니다.
<?php
// 경로를 여러 모듈로 설정합니다
set_include_path('/var/www/html/module1' . PATH_SEPARATOR . '/var/www/html/module2' . PATH_SEPARATOR . get_include_path());
// 모듈을 소개합니다1파일
include 'module1/file.php';
// 모듈을 소개합니다2파일
include 'module2/file.php';
?>