function FixtureManipulator::addProjectAtPath
Adds a project at a path.
Parameters
string $path: The path.
string|null $project_name: (optional) The project name. If none is specified the last part of the path will be used.
string|null $file_name: (optional) The file name. If none is specified the project name will be used.
File
-
core/
modules/ package_manager/ tests/ modules/ fixture_manipulator/ src/ FixtureManipulator.php, line 265
Class
- FixtureManipulator
- Manipulates a test fixture using Composer commands.
Namespace
Drupal\fixture_manipulatorCode
public function addProjectAtPath(string $path, ?string $project_name = NULL, ?string $file_name = NULL) : self {
if (!$this->committingChanges) {
$this->queueManipulation('addProjectAtPath', func_get_args());
return $this;
}
$path = $this->dir . "/{$path}";
if (file_exists($path)) {
throw new \LogicException("'{$path}' path already exists.");
}
$fs = new SymfonyFileSystem();
$fs->mkdir($path);
if ($project_name === NULL) {
$project_name = basename($path);
}
if ($file_name === NULL) {
$file_name = "{$project_name}.info.yml";
}
assert(file_put_contents("{$path}/{$file_name}", Yaml::encode([
'project' => $project_name,
])) !== FALSE);
return $this;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.