for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace Yiisoft\Yii\Cycle\Schema\Provider;
use Yiisoft\Aliases\Aliases;
use Yiisoft\Yii\Cycle\Schema\SchemaProviderInterface;
/**
* Be careful, using this class may be insecure.
*/
final class FromFileSchemaProvider implements SchemaProviderInterface
{
private string $file = '';
private Aliases $aliases;
public function __construct(Aliases $aliases)
$this->aliases = $aliases;
}
public function withConfig(array $config): SchemaProviderInterface
$clone = clone $this;
// required option
$clone->file = $this->aliases->get($config['file']);
return $clone;
public function read(): ?array
if (!is_file($this->file)) {
return null;
return include $this->file;
public function write($schema): bool
return false;
public function clear(): bool
public function isWritable(): bool
public function isReadable(): bool
return true;