透過namespace找到composer package中的檔案路徑
透過namespace來找到Vendor資料夾中安裝的composer package中的某一個檔案路徑,而不是直接寫死路徑在vendor/VENDOR_NAME/PACKAGE_NAME/src
範例:
找到namespace為virtualorz\mysdk
中的config/abc.php檔案
| 
					 1 2 3 4  | 
						protected function _getClassLoader() {     return require base_path('vendor/autoload.php'); }  | 
					
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24  | 
						protected function get_file_path(string $path): string {     $loader = $this->_getClassLoader();     $psr4 = $loader->getPrefixesPsr4();     $namespace = 'virtualorz\\mysdk\\';     $target_file_name = "config/abc.php"; // 要找的檔案名稱     $path_location = '';     foreach ($psr4 as $prefix => $paths) {         if (str_starts_with($namespace, $prefix)) {             foreach ($paths as $path) { // 處理多個路徑                 $relativePath = str_replace($prefix, '', $namespace);                 $relativePath = str_replace('\\', '/', $relativePath);                 $path = $path . '/' . $relativePath . $stubFilename;                 if (file_exists($path)) {                     $path_location =  $path;                 }             }         }     }     return $path_location; }  | 
					
說明:
透過$psr4取得autoload中的所有路徑
| 
					 1  | 
						$psr4 = $loader->getPrefixesPsr4();  | 
					
找到開頭跟定義好的$namesapce相同的路徑,最後帶入要找的$target_file_name,確認檔案是不是存在
存在的話這個檔案路徑就是目標了

