Final Class Yiisoft\Yii\Gii\Component\CodeFile\CodeFileWriter
| Inheritance | Yiisoft\Yii\Gii\Component\CodeFile\CodeFileWriter |
|---|
Public Methods
| Method | Description | Defined By |
|---|---|---|
| write() | Saves the generated code into files. | Yiisoft\Yii\Gii\Component\CodeFile\CodeFileWriter |
Method Details
Saves the generated code into files.
| public write( Yiisoft\Yii\Gii\Component\CodeFile\CodeFile[] $files, string[] $answers ): Yiisoft\Yii\Gii\Component\CodeFile\CodeFileWriteResult | ||
| $files | Yiisoft\Yii\Gii\Component\CodeFile\CodeFile[] |
The code files to be saved |
| $answers | string[] | |
| return | Yiisoft\Yii\Gii\Component\CodeFile\CodeFileWriteResult |
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;
}
Signup or Login in order to comment.