PHP code example of ktav-lang / ktav
1. Go to this page and download the library: Download ktav-lang/ktav 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/ */
ktav-lang / ktav example snippets
use Ktav\Ktav;
$src = <<<KTAV
service: web
port: 8080
ratio: 0.75
tls: true
tags: [
prod
eu-west-1
]
db.host: primary.internal
db.timeout: 30
KTAV;
$cfg = Ktav::loads($src);
$service = $cfg['service']; // string
$port = $cfg['port']; // int
$ratio = $cfg['ratio']; // float
$tls = $cfg['tls']; // bool
$tags = $cfg['tags']; // array<string>
$dbHost = $cfg['db']['host']; // string
$dbTimeout = $cfg['db']['timeout']; // int
$doc = [
'name' => 'frontend',
'port' => 8443,
'tls' => true,
'ratio' => 0.95,
'upstreams' => [
['host' => 'a.example', 'port' => 1080],
['host' => 'b.example', 'port' => 1080],
],
'notes' => null,
];
$text = Ktav::dumps($doc);
echo Ktav::format("## the server\nserver: {host: a, port: 80}\n");
// ## the server
// server: {
// host: a
// port: 80
// }
try {
Ktav::loadsStrict("a: 1.10\n");
} catch (KtavException $e) {
$e->getError(); // "LossyScalar"
$e->getBody(); // "1.10" — as written
$e->getCanonical(); // "1.1" — as it would be stored
$e->getSpecSection(); // "§3.6/§5.2"
$e->getSpan(); // ["start" => 0, "end" => 7]
}