class PhpConfig
@author John Stevenson <john-stevenson@blueyonder.co.uk>
@phpstan-type restartData array{tmpIni: string, scannedInis: bool, scanDir: false|string, phprc: false|string, inis: string[], skipped: string}
Hierarchy
- class \Composer\XdebugHandler\PhpConfig
Expanded class hierarchy of PhpConfig
File
-
vendor/
composer/ xdebug-handler/ src/ PhpConfig.php, line 21
Namespace
Composer\XdebugHandlerView source
class PhpConfig {
/**
* Use the original PHP configuration
*
* @return string[] Empty array of PHP cli options
*/
public function useOriginal() : array {
$this->getDataAndReset();
return [];
}
/**
* Use standard restart settings
*
* @return string[] PHP cli options
*/
public function useStandard() : array {
$data = $this->getDataAndReset();
if ($data !== null) {
return [
'-n',
'-c',
$data['tmpIni'],
];
}
return [];
}
/**
* Use environment variables to persist settings
*
* @return string[] Empty array of PHP cli options
*/
public function usePersistent() : array {
$data = $this->getDataAndReset();
if ($data !== null) {
$this->updateEnv('PHPRC', $data['tmpIni']);
$this->updateEnv('PHP_INI_SCAN_DIR', '');
}
return [];
}
/**
* Returns restart data if available and resets the environment
*
* @phpstan-return restartData|null
*/
private function getDataAndReset() : ?array {
$data = XdebugHandler::getRestartSettings();
if ($data !== null) {
$this->updateEnv('PHPRC', $data['phprc']);
$this->updateEnv('PHP_INI_SCAN_DIR', $data['scanDir']);
}
return $data;
}
/**
* Updates a restart settings value in the environment
*
* @param string $name
* @param string|false $value
*/
private function updateEnv(string $name, $value) : void {
Process::setEnv($name, false !== $value ? $value : null);
}
}
Members
Title Sort descending | Modifiers | Object type | Summary |
---|---|---|---|
PhpConfig::getDataAndReset | private | function | Returns restart data if available and resets the environment |
PhpConfig::updateEnv | private | function | Updates a restart settings value in the environment |
PhpConfig::useOriginal | public | function | Use the original PHP configuration |
PhpConfig::usePersistent | public | function | Use environment variables to persist settings |
PhpConfig::useStandard | public | function | Use standard restart settings |