PHP code example of gong023 / ayaml
1. Go to this page and download the library: Download gong023/ayaml 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/ */
gong023 / ayaml example snippets
\Ayaml\Ayaml::registerBasePath('/Dir/YamlFile/Exists');
// plain pattern
Ayaml::file('user')->schema('valid_user')->dump();
=> ['id' => 1, 'name' => 'Taro', 'created' => '2014-01'];
// with overwriting
Ayaml::file('user')->schema('valid_user')->with(['id' => 2, 'name' => 'John'])->dump();
=> ['id' => 2, 'name' => 'John', 'created' => '2014-01'];
// you can get data from nested yaml
Ayaml::file('user')->schema('valid_user_collection.user2')->dump();
=> ['id' => 2, 'name' => 'Jiro', 'created' => '2014-01'];
$validUser = Ayaml::file('user')->schema('valid_user');
// make incremental id sequence.
Ayaml::seq($validUser)->range('id', 10, 12)->byOne()->dump();
=>
[
['id' => 10, 'name' => 'Taro', 'created' => '2014-01'],
['id' => 11, 'name' => 'Taro', 'created' => '2014-01'],
['id' => 12, 'name' => 'Taro', 'created' => '2014-01'],
];
// make decremental id sequence.
Ayaml::seq($validUser)->range('id', 10, 8)->byOne()->dump();
=>
[
['id' => 10, 'name' => 'Taro', 'created' => '2014-01'],
['id' => 9, 'name' => 'Taro', 'created' => '2014-01'],
['id' => 8, 'name' => 'Taro', 'created' => '2014-01'],
]
// you can specify logic.
Ayaml::seq($validUser)->range('id', 10, 12)->by(function($id) { return $id + 2; })->dump();
=>
[
['id' => 10, 'name' => 'Taro', 'created' => '2014-01'],
['id' => 12, 'name' => 'Taro', 'created' => '2014-01'],
];
// make incremental date sequence.
// you can specify duration 'byDay','byWeek','byMonth','byYear'
Ayaml::seq($validUser)->between('created', '2014-01', '2014-03')->byMonth()->dump();
=>
[
['id' => 1, 'name' => 'Taro', 'created' => '2014-01'],
['id' => 1, 'name' => 'Taro', 'created' => '2014-02'],
['id' => 1, 'name' => 'Taro', 'created' => '2014-03'],
];
// make decremental date sequence.
Ayaml::seq($validUser)->between('created', '2014-03', '2014-01')->byMonth()->dump();
=>
[
['id' => 1, 'name' => 'Taro', 'created' => '2014-03'],
['id' => 1, 'name' => 'Taro', 'created' => '2014-02'],
['id' => 1, 'name' => 'Taro', 'created' => '2014-01'],
];
// make numeric and date column sequential.
Ayaml::seq($validUser)
->range('id', 10, 12)->byOne()
->between('created', '2014-01', '2014-03')->byMonth()
->dump();
=>
[
['id' => 10, 'name' => 'Taro', 'created' => '2014-01'],
['id' => 11, 'name' => 'Taro', 'created' => '2014-02'],
['id' => 12, 'name' => 'Taro', 'created' => '2014-03'],
];