1. Go to this page and download the library: Download diezz/yaml-to-object-mapper library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
diezz / yaml-to-object-mapper example snippets
class Config {
public string $name;
public ConnectionSettings $connection
}
class ConnectionSettings {
public string $host;
public string $port;
public string $username;
public string $password;
}
$config = Mapper::make()->mapFromFile(Config::class, 'config.yml');
use Diezz\YamlToObjectMapper\Attributes\Collection;
class DatabaseSchema {
#[Collection(class: Table::class)]
public array $tables;
}
class Table {
public string $name;
public array $columns;
}
class Table {
#[DefaultValueResolver(resolver: DefaultValueResolver::PARENT_KEY)]
public string $name;
#[DefaultValueResolver(resolver: DefaultValueResolver::NESTED_LIST)]
public array $columns;
}
use Diezz\YamlToObjectMapper\Attributes\Required;
class Model {
/**
* Explicitly nt
*/
public string $value1;
/**
* Required based on type hint in doc comment
*
* @var string
*/
public $value2;
/**
* Not ue5;
}
class SumArgumentResolver extends CustomArgumentResolver
{
private array $arguments;
public function __construct(...$arguments)
{
$this->arguments = $arguments;
}
protected function doResolve($context = null): int
{
$sum = 0;
foreach ($this->arguments as $iValue) {
$sum += $iValue->resolve($context);
}
return $sum;
}
}
$mapper = Mapper::make();
//Register the resolver
$mapper->registerCustomArgumentResolver('sum', SumArgumentResolver::class);
$result = $mapper->map($file, Output::class);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.