web-base/Core/Driver/SQL/Column/Column.class.php

27 lines
718 B
PHP
Raw Permalink Normal View History

2020-04-02 00:02:51 +02:00
<?php
2022-11-18 18:06:46 +01:00
namespace Core\Driver\SQL\Column;
2020-04-02 00:02:51 +02:00
2022-11-18 18:06:46 +01:00
use Core\Driver\SQL\Expression\Expression;
use Core\Driver\SQL\SQL;
2021-04-08 19:08:05 +02:00
class Column extends Expression {
2020-04-02 00:02:51 +02:00
2020-04-03 17:39:58 +02:00
private string $name;
private bool $nullable;
2020-04-02 00:02:51 +02:00
private $defaultValue;
2021-04-02 21:58:06 +02:00
public function __construct(string $name, bool $nullable = false, $defaultValue = NULL) {
2020-04-02 00:02:51 +02:00
$this->name = $name;
$this->nullable = $nullable;
$this->defaultValue = $defaultValue;
}
2021-04-02 21:58:06 +02:00
public function getName(): string { return $this->name; }
public function notNull(): bool { return !$this->nullable; }
2020-04-02 00:02:51 +02:00
public function getDefaultValue() { return $this->defaultValue; }
function getExpression(SQL $sql, array &$params): string {
return $sql->columnName($this->name);
}
2020-04-03 17:39:58 +02:00
}