| Server IP : 23.254.227.96 / Your IP : 216.73.216.183 Web Server : Apache/2.4.62 (Unix) OpenSSL/1.1.1k System : Linux hwsrv-1277026.hostwindsdns.com 4.18.0-477.13.1.el8_8.x86_64 #1 SMP Tue May 30 14:53:41 EDT 2023 x86_64 User : viralblo ( 1001) PHP Version : 8.1.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/local/cwpsrv/var/services/pma/vendor/williamdes/mariadb-mysql-kbs/src/ |
Upload File : |
<?php
declare(strict_types = 1);
namespace Williamdes\MariaDBMySQLKBS;
use \stdClass;
use \JsonSerializable;
class KBEntry extends stdClass implements JsonSerializable
{
/**
* The name of the variable
*
* @var string
*/
private $name;
/**
* Type of variable
*
* @var string
*/
private $type = null;
/**
* Is dynamic ?
*
* @var bool
*/
private $dynamic = null;
/**
* Documentations
*
* @var KBDocumentation[]
*/
private $docs = null;
/**
* Create a KBEntry object
*
* @param string $name The name of the variable
* @param string|null $type Type of variable
* @param bool|null $dynamic Is dynamic ?
*/
public function __construct(string $name, ?string $type, ?bool $dynamic)
{
$this->name = $name;
if ($type !== null) {
$this->type = $type;
}
if ($dynamic !== null) {
$this->dynamic = $dynamic;
}
}
/**
* Get the variable name
*
* @return string
*/
public function getName(): string
{
return $this->name;
}
/**
* Is the variable dynamic
*
* @return bool|null
*/
public function isDynamic(): ?bool
{
return $this->dynamic;
}
/**
* Get the variable type
*
* @return string|null
*/
public function getType(): ?string
{
return $this->type;
}
/**
* Variable has documentations
*
* @return bool
*/
public function hasDocumentations(): bool
{
if ($this->docs === null) {
return false;
} else {
return count($this->docs) > 0;
}
}
/**
* Get all documentations
*
* @return KBDocumentation[]
*/
public function getDocumentations(): array
{
return $this->docs;
}
/**
* Add documentation link
*
* @param string $url The URL
* @param string|null $anchor The anchor
* @return KBDocumentation
*/
public function addDocumentation(string $url, ?string $anchor = null ): KBDocumentation
{
$this->url = $url;
if ($this->docs === null) {
$this->docs = array();
}
$kbd = new KBDocumentation($url, $anchor);
$this->docs[] = $kbd;
return $kbd;
}
/**
* Used for json_encode function
* This can seem useless, do not remove it.
*
* @return array<string,KBDocumentation[]|bool|string>
*/
public function jsonSerialize(): array
{
$outObj = array();
$outObj['name'] = $this->name;
if ($this->type !== null) {
$outObj['type'] = $this->type;
}
if ($this->dynamic !== null) {
$outObj['dynamic'] = $this->dynamic;
}
if ($this->docs !== null) {
$outObj['docs'] = $this->docs;
}
return $outObj;
}
}