Final Class Yiisoft\Yii\Gii\Component\CodeFile\CodeFileWriter
| Inheritance | Yiisoft\ |
|---|
Public Methods
| Method | Description | Defined By |
|---|---|---|
| write() | Saves the generated code into files. | Yiisoft\ |
Method Details
Saves the generated code into files.
| public Yiisoft\ | ||
| $files | Yiisoft\ |
The code files to be saved |
| $answers | string[] | |
| return | Yiisoft\ |
Whether files are successfully saved without any error. |
|---|---|---|
public function write(array $files, array $answers): CodeFileWriteResult
{
$result = new CodeFileWriteResult();
foreach ($files as $file) {
$fileId = $file->getId();
$operation = $answers[$fileId];
switch (CodeFileWriteOperationEnum::tryFrom($operation)) {
case CodeFileWriteOperationEnum::SKIP:
$result->addResult($file, CodeFileWriteStatusEnum::SKIPPED);
break;
case CodeFileWriteOperationEnum::SAVE:
try {
$status = $file->save();
} catch (Exception $e) {
$result->addError($file, (string) $e);
break;
}
$result->addResult($file, $status);
break;
default:
$result->addError(
$file,
sprintf(
'Unknown operation "%s". Only the following operations are available: %s',
$operation,
implode(
', ',
array_map(
fn(CodeFileWriteOperationEnum $value) => $value->value,
CodeFileWriteOperationEnum::cases(),
),
),
),
);
break;
}
}
return $result;
}
User Contributed Notes
Leave a comment
Join the conversation to share a note.