backend/kernel/IGTabel/JSONCreator.php

49 lines
1.2 KiB
PHP
Raw Normal View History

2024-07-16 13:37:34 +03:00
<?php
namespace kernel\IGTabel;
use app\helpers\Debug;
class JSONCreator
{
protected array $informationArray = [];
public function __construct(array $meta, array $data)
{
$params = empty($meta['params']) ? ["class" => "table table-bordered", "border" => "1"] : $meta['params'];
if ($meta && $data) {
$this->informationArray = [
"meta" => [
"columns" => $meta['columns'],
"perPage" => $meta['perPage'] ?? 10,
"currentPage" => $meta['currentPage'] ?? 1,
"baseUrl" => $meta['baseUrl'] ?? '',
"actions" => $meta['actions'] ?? '',
"params" => $params
],
"data" => $data
];
}
}
/**
* @param array $infArr
* @return string|null
*/
protected function toJson(array $infArr): ?string
{
if ($infArr)
return json_encode($infArr, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
return null;
}
/**
* @return string|null
*/
public function getJson(): ?string
{
return $this->toJson($this->informationArray);
}
}