wiki.techinc.nl/includes/Settings/Source/SettingsFileUtils.php
daniel da99bcd6aa SettingsBuilder: load settings recursively
Allows settings files to include other settings files.

Change-Id: Ieab7def1ada8b255e60c58927850a58e18309f6e
2022-01-18 21:51:35 +01:00

35 lines
996 B
PHP

<?php
namespace MediaWiki\Settings\Source;
/**
* A collection of static utility methods for use with
* settings files.
*
* @since 1.38
* @internal since the behavior may change to accommodate more types of source locations.
*/
class SettingsFileUtils {
/**
* Resolves a relative settings source location. This method will attempt to interpret
* $path as relative to $base if possible. This behaves similar to relative URLs are
* made absolute using a base URL.
*
* The current implementation is based on file paths, but this may be expanded in the future
* to support other kinds of locations.
*
* @param string $path
* @param string $base
*
* @return string
*/
public static function resolveRelativeLocation( string $path, string $base ): string {
// Qualify the path if it isn't already absolute
if ( !preg_match( '!^[a-zA-Z]:\\\\!', $path ) && $path[0] != DIRECTORY_SEPARATOR ) {
$path = $base . DIRECTORY_SEPARATOR . $path;
}
return $path;
}
}