Untitled
unknown
plain_text
3 years ago
2.0 kB
13
Indexable
<?php
class Reader
{
protected $data;
function read($dir)
{
//$this dir to array
}
function getData()
{
return $this->data;
}
function exportToArray()
{
$data=[];
foreach ($this->data as $key => $value) {
array_push($data, ((array)$value));
}
return $data;
}
function exportToTable()
{
$string = '<table>';
foreach ($this->data as $key => $value) {
$string .= "<tr>";
foreach ($value as $k => $v) {
$string .= "<td>$v</td>";
}
$string .= "</tr>";
}
$string .= '</table>';
return $string;
}
function addRow($data)
{
$this->data[] = $data;
}
function removeRow(int $number)
{
unset($this->data[$number - 1]);
return $this;
}
function special(int $row, string $option)
{
$data = $this->data[$row]; //cpy
switch ($option) {
case 'sort': {
sort($data);
$this->data[$row] = $data;
break;
}
case 'capitalize': {
foreach ($data as $key => $value)
$data[$key] = strtoupper($value);
$this->data[$row] = $data;
break;
}
}
return $this;
}
}
class JsonReader extends Reader
{
function read($dir)
{
if (file_exists($dir)) {
$this->data = json_decode(file_get_contents($dir));
} else {
$this->data = json_decode("$dir");
}
return $this;
}
}
class CsvReader extends Reader
{
}
$json = new JsonReader();
$json->read(json_encode([['name' => 'younes', 'family' => 'mokhtari'], ['name' => 'younes', 'family' => 'mokhtari']]));
// var_dump($json->getData());
var_dump($json->exportToTable());Editor is loading...