chore: Аннотации к типам
This commit is contained in:
parent
245b5c6c19
commit
704e4e0bd5
10 changed files with 73 additions and 11 deletions
|
|
@ -104,6 +104,14 @@ class Component
|
||||||
$callback, $text);
|
$callback, $text);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Выполняет запрос компонента и возвращает результат
|
||||||
|
* Результат может быть строкой или View для обычных компонентов, или массивом для использования в сервисах
|
||||||
|
*
|
||||||
|
* @param HttpRequest $request
|
||||||
|
* @param bool $has_id
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
function execute(HttpRequest $request, $has_id = true) {
|
function execute(HttpRequest $request, $has_id = true) {
|
||||||
$crequest = new ComponentRequest($this->component_id, $request);
|
$crequest = new ComponentRequest($this->component_id, $request);
|
||||||
|
|
||||||
|
|
@ -125,6 +133,7 @@ class Component
|
||||||
/**
|
/**
|
||||||
* Получить имя шаблона
|
* Получить имя шаблона
|
||||||
* @param Registry $_registry
|
* @param Registry $_registry
|
||||||
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function getTemplateName($_registry) {
|
public function getTemplateName($_registry) {
|
||||||
return (isset($_COOKIE['with_template']) && preg_match('/^[\w\d-]{3,20}$/', $_COOKIE['with_template']))
|
return (isset($_COOKIE['with_template']) && preg_match('/^[\w\d-]{3,20}$/', $_COOKIE['with_template']))
|
||||||
|
|
@ -486,7 +495,10 @@ class Component
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param ComponentRequest $request
|
* @param ComponentRequest $request
|
||||||
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
function actionIndex($request) {
|
function actionIndex($request) {
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -100,7 +100,7 @@ namespace ctiso {
|
||||||
/**
|
/**
|
||||||
* Выполняет запрос к базе данных
|
* Выполняет запрос к базе данных
|
||||||
* @param string $query - запрос
|
* @param string $query - запрос
|
||||||
* @param array $values - значения
|
* @param ?array<string, mixed> $values - значения
|
||||||
*/
|
*/
|
||||||
public function executeQuery($query, $values = null): PDOStatement|bool
|
public function executeQuery($query, $values = null): PDOStatement|bool
|
||||||
{
|
{
|
||||||
|
|
@ -124,7 +124,7 @@ namespace ctiso {
|
||||||
/**
|
/**
|
||||||
* Извлекает из базы все элементы по запросу (Для совместимости со старым представлением баз данных CIS)
|
* Извлекает из базы все элементы по запросу (Для совместимости со старым представлением баз данных CIS)
|
||||||
* @param string $query - запрос
|
* @param string $query - запрос
|
||||||
* @param array<string, mixed> $values - значения
|
* @param ?array<string, mixed> $values - значения
|
||||||
* @return list<array<string, mixed>>
|
* @return list<array<string, mixed>>
|
||||||
*/
|
*/
|
||||||
public function fetchAllArray($query, $values = null)
|
public function fetchAllArray($query, $values = null)
|
||||||
|
|
@ -138,7 +138,7 @@ namespace ctiso {
|
||||||
/**
|
/**
|
||||||
* Извлекает из базы первый элемент по запросу
|
* Извлекает из базы первый элемент по запросу
|
||||||
* @param string $query - запрос
|
* @param string $query - запрос
|
||||||
* @param array<string, mixed> $values - значения
|
* @param ?array<string, mixed> $values - значения
|
||||||
* @return array<string, mixed>|false
|
* @return array<string, mixed>|false
|
||||||
*/
|
*/
|
||||||
public function fetchOneArray($query, $values = null)
|
public function fetchOneArray($query, $values = null)
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ class JsonInstall {
|
||||||
* Установить базу данных
|
* Установить базу данных
|
||||||
* @param string $dbinit_path
|
* @param string $dbinit_path
|
||||||
* @param ?string $dbfill_path
|
* @param ?string $dbfill_path
|
||||||
|
* @return int
|
||||||
*/
|
*/
|
||||||
function install($dbinit_path, $dbfill_path = null) {
|
function install($dbinit_path, $dbfill_path = null) {
|
||||||
$dbinit_file = file_get_contents($dbinit_path);
|
$dbinit_file = file_get_contents($dbinit_path);
|
||||||
|
|
@ -37,6 +38,7 @@ class JsonInstall {
|
||||||
$this->fillDataBase($dbfill_path);
|
$this->fillDataBase($dbfill_path);
|
||||||
}
|
}
|
||||||
$this->makeConstraints($initActions);
|
$this->makeConstraints($initActions);
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,36 @@ use ctiso\Tools\SQLStatementExtractor;
|
||||||
use ctiso\Path;
|
use ctiso\Path;
|
||||||
use Exception;
|
use Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @phpstan-type Action array{
|
||||||
|
* type:string,
|
||||||
|
* table_name:string,
|
||||||
|
* table:string,
|
||||||
|
* fields:array,
|
||||||
|
* field: ColumnProps,
|
||||||
|
* constraints:?array,
|
||||||
|
* references:?array,
|
||||||
|
* source:string,
|
||||||
|
* pgsql?:string,
|
||||||
|
* old_name?:string,
|
||||||
|
* new_name?:string,
|
||||||
|
* column?:string,
|
||||||
|
* column_name?:string,
|
||||||
|
* refTable?:string,
|
||||||
|
* refColumn?:string,
|
||||||
|
* values:array,
|
||||||
|
* view:string,
|
||||||
|
* select:string
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* @phpstan-type ColumnProps array{
|
||||||
|
* name:string,
|
||||||
|
* type:string,
|
||||||
|
* not_null:bool,
|
||||||
|
* default:?string,
|
||||||
|
* references:?array{refTable:string,refColumn:string}
|
||||||
|
* }
|
||||||
|
*/
|
||||||
class Manager
|
class Manager
|
||||||
{
|
{
|
||||||
/** @var Database */
|
/** @var Database */
|
||||||
|
|
@ -19,7 +49,7 @@ class Manager
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Выполняет действие
|
* Выполняет действие
|
||||||
* @param array $action
|
* @param Action $action
|
||||||
* @param string $db_file
|
* @param string $db_file
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
|
|
@ -180,7 +210,7 @@ class Manager
|
||||||
/**
|
/**
|
||||||
* Возвращает определение столбца
|
* Возвращает определение столбца
|
||||||
* @param string $name
|
* @param string $name
|
||||||
* @param array $data
|
* @param ColumnProps $data
|
||||||
* @param bool $pg
|
* @param bool $pg
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,9 @@ class Number
|
||||||
/** @var int */
|
/** @var int */
|
||||||
public $value;
|
public $value;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param int|float $value
|
||||||
|
*/
|
||||||
function __construct($value)
|
function __construct($value)
|
||||||
{
|
{
|
||||||
$this->value = (int)($value);
|
$this->value = (int)($value);
|
||||||
|
|
|
||||||
|
|
@ -34,11 +34,21 @@ class TableRow
|
||||||
/** @var int|false */
|
/** @var int|false */
|
||||||
public $height = false;
|
public $height = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Устанавливает значение для клетки
|
||||||
|
* @param int $y Номер столбца
|
||||||
|
* @param string $value Значение клетки
|
||||||
|
*/
|
||||||
function setCell($y, $value): void
|
function setCell($y, $value): void
|
||||||
{
|
{
|
||||||
$this->cells[$y] = new TableCell($value);
|
$this->cells[$y] = new TableCell($value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Устанавливает стиль для клетки
|
||||||
|
* @param int $y Номер столбца
|
||||||
|
* @param string $name Имя стиля
|
||||||
|
*/
|
||||||
function setCellStyle($y, $name): void
|
function setCellStyle($y, $name): void
|
||||||
{
|
{
|
||||||
$this->cells[$y]->style = $name;
|
$this->cells[$y]->style = $name;
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,9 @@ use ctiso\Filter\UserAccess,
|
||||||
|
|
||||||
class ActionAccess
|
class ActionAccess
|
||||||
{
|
{
|
||||||
|
/** @var array */
|
||||||
public $access = [];
|
public $access = [];
|
||||||
|
/** @var FilterInterface */
|
||||||
public $processor;
|
public $processor;
|
||||||
/** @var User */
|
/** @var User */
|
||||||
public $user;
|
public $user;
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ class Form {
|
||||||
protected $replace;
|
protected $replace;
|
||||||
protected $before;
|
protected $before;
|
||||||
|
|
||||||
/** @var array */
|
/** @var array<string> */
|
||||||
public $_title = [];
|
public $_title = [];
|
||||||
/** @var array */
|
/** @var array */
|
||||||
public $alias = [];
|
public $alias = [];
|
||||||
|
|
@ -47,7 +47,6 @@ class Form {
|
||||||
'input' => Input::class,
|
'input' => Input::class,
|
||||||
// input с проверкой на заполненность
|
// input с проверкой на заполненность
|
||||||
'inputreq' => Input::class,
|
'inputreq' => Input::class,
|
||||||
|
|
||||||
'date' => Date::class,
|
'date' => Date::class,
|
||||||
'datereq' => Date::class,
|
'datereq' => Date::class,
|
||||||
'datetime' => DateTime::class,
|
'datetime' => DateTime::class,
|
||||||
|
|
@ -93,6 +92,8 @@ class Form {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Добавляет одно поле ввода на форму
|
* Добавляет одно поле ввода на форму
|
||||||
|
* @param array{ type: string, name: string, hint?: string } $init
|
||||||
|
* @param OptionsFactory|null $factory
|
||||||
*/
|
*/
|
||||||
public function addField(array $init, $factory = null): Field
|
public function addField(array $init, $factory = null): Field
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -277,7 +277,7 @@ class Functions {
|
||||||
/**
|
/**
|
||||||
* @param string $key
|
* @param string $key
|
||||||
* @param string $value
|
* @param string $value
|
||||||
* @param array|\ArrayIterator $array
|
* @param list<array<string, mixed>>|\ArrayIterator $array
|
||||||
*/
|
*/
|
||||||
static function assoc_key_values($key, $value, $array) {
|
static function assoc_key_values($key, $value, $array) {
|
||||||
$result = [];
|
$result = [];
|
||||||
|
|
@ -289,7 +289,7 @@ class Functions {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $key
|
* @param string $key
|
||||||
* @param array|\ArrayIterator $array
|
* @param list<array<string, mixed>>|\ArrayIterator $array
|
||||||
*/
|
*/
|
||||||
static function assoc_key($key, $array) {
|
static function assoc_key($key, $array) {
|
||||||
$result = [];
|
$result = [];
|
||||||
|
|
@ -334,7 +334,7 @@ class Functions {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Логическа операция && ко всем элементам массива
|
* Логическа операция && ко всем элементам массива
|
||||||
* @param array $array Массив
|
* @param array<mixed> $array Массив
|
||||||
* @param callable $callback Функция
|
* @param callable $callback Функция
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
|
|
@ -349,6 +349,8 @@ class Functions {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Логическа операция || ко всем элементам массива
|
* Логическа операция || ко всем элементам массива
|
||||||
|
* @param array<mixed> $array Массив
|
||||||
|
* @param callable $callback Функция
|
||||||
* @return mixed
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
static function some(array $array, callable $callback) {
|
static function some(array $array, callable $callback) {
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ class Pages
|
||||||
* @param int $onpage количество страниц на странице
|
* @param int $onpage количество страниц на странице
|
||||||
* @param int $count количество всех страниц
|
* @param int $count количество всех страниц
|
||||||
* @param string $prefix префикс
|
* @param string $prefix префикс
|
||||||
* @return array{'all': bool, 'list': array, 'first': string, 'last': string, 'next': string, 'prev': string}
|
* @return array{'all': bool, 'list': array, 'first': string, 'last': string, 'next': string|false, 'prev': string|false}
|
||||||
*/
|
*/
|
||||||
static function getPages($page, $onpage, $count, $prefix = '?')
|
static function getPages($page, $onpage, $count, $prefix = '?')
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue