chore: Аннотации к типам

This commit is contained in:
origami11@yandex.ru 2025-10-28 20:09:21 +03:00
parent 245b5c6c19
commit 704e4e0bd5
10 changed files with 73 additions and 11 deletions

View file

@ -104,6 +104,14 @@ class Component
$callback, $text);
}
/**
* Выполняет запрос компонента и возвращает результат
* Результат может быть строкой или View для обычных компонентов, или массивом для использования в сервисах
*
* @param HttpRequest $request
* @param bool $has_id
* @return mixed
*/
function execute(HttpRequest $request, $has_id = true) {
$crequest = new ComponentRequest($this->component_id, $request);
@ -125,6 +133,7 @@ class Component
/**
* Получить имя шаблона
* @param Registry $_registry
* @return string
*/
public function getTemplateName($_registry) {
return (isset($_COOKIE['with_template']) && preg_match('/^[\w\d-]{3,20}$/', $_COOKIE['with_template']))
@ -486,7 +495,10 @@ class Component
/**
* @param ComponentRequest $request
* @return mixed
*/
function actionIndex($request) {
return null;
}
}

View file

@ -100,7 +100,7 @@ namespace ctiso {
/**
* Выполняет запрос к базе данных
* @param string $query - запрос
* @param array $values - значения
* @param ?array<string, mixed> $values - значения
*/
public function executeQuery($query, $values = null): PDOStatement|bool
{
@ -124,7 +124,7 @@ namespace ctiso {
/**
* Извлекает из базы все элементы по запросу (Для совместимости со старым представлением баз данных CIS)
* @param string $query - запрос
* @param array<string, mixed> $values - значения
* @param ?array<string, mixed> $values - значения
* @return list<array<string, mixed>>
*/
public function fetchAllArray($query, $values = null)
@ -138,7 +138,7 @@ namespace ctiso {
/**
* Извлекает из базы первый элемент по запросу
* @param string $query - запрос
* @param array<string, mixed> $values - значения
* @param ?array<string, mixed> $values - значения
* @return array<string, mixed>|false
*/
public function fetchOneArray($query, $values = null)

View file

@ -18,6 +18,7 @@ class JsonInstall {
* Установить базу данных
* @param string $dbinit_path
* @param ?string $dbfill_path
* @return int
*/
function install($dbinit_path, $dbfill_path = null) {
$dbinit_file = file_get_contents($dbinit_path);
@ -37,6 +38,7 @@ class JsonInstall {
$this->fillDataBase($dbfill_path);
}
$this->makeConstraints($initActions);
return 1;
}
/**

View file

@ -7,6 +7,36 @@ use ctiso\Tools\SQLStatementExtractor;
use ctiso\Path;
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
{
/** @var Database */
@ -19,7 +49,7 @@ class Manager
/**
* Выполняет действие
* @param array $action
* @param Action $action
* @param string $db_file
* @throws Exception
*/
@ -180,7 +210,7 @@ class Manager
/**
* Возвращает определение столбца
* @param string $name
* @param array $data
* @param ColumnProps $data
* @param bool $pg
* @return string
*/

View file

@ -7,6 +7,9 @@ class Number
/** @var int */
public $value;
/**
* @param int|float $value
*/
function __construct($value)
{
$this->value = (int)($value);

View file

@ -34,11 +34,21 @@ class TableRow
/** @var int|false */
public $height = false;
/**
* Устанавливает значение для клетки
* @param int $y Номер столбца
* @param string $value Значение клетки
*/
function setCell($y, $value): void
{
$this->cells[$y] = new TableCell($value);
}
/**
* Устанавливает стиль для клетки
* @param int $y Номер столбца
* @param string $name Имя стиля
*/
function setCellStyle($y, $name): void
{
$this->cells[$y]->style = $name;

View file

@ -10,7 +10,9 @@ use ctiso\Filter\UserAccess,
class ActionAccess
{
/** @var array */
public $access = [];
/** @var FilterInterface */
public $processor;
/** @var User */
public $user;

View file

@ -31,7 +31,7 @@ class Form {
protected $replace;
protected $before;
/** @var array */
/** @var array<string> */
public $_title = [];
/** @var array */
public $alias = [];
@ -47,7 +47,6 @@ class Form {
'input' => Input::class,
// input с проверкой на заполненность
'inputreq' => Input::class,
'date' => Date::class,
'datereq' => Date::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
{

View file

@ -277,7 +277,7 @@ class Functions {
/**
* @param string $key
* @param string $value
* @param array|\ArrayIterator $array
* @param list<array<string, mixed>>|\ArrayIterator $array
*/
static function assoc_key_values($key, $value, $array) {
$result = [];
@ -289,7 +289,7 @@ class Functions {
/**
* @param string $key
* @param array|\ArrayIterator $array
* @param list<array<string, mixed>>|\ArrayIterator $array
*/
static function assoc_key($key, $array) {
$result = [];
@ -334,7 +334,7 @@ class Functions {
/**
* Логическа операция && ко всем элементам массива
* @param array $array Массив
* @param array<mixed> $array Массив
* @param callable $callback Функция
* @return bool
*/
@ -349,6 +349,8 @@ class Functions {
/**
* Логическа операция || ко всем элементам массива
* @param array<mixed> $array Массив
* @param callable $callback Функция
* @return mixed
*/
static function some(array $array, callable $callback) {

View file

@ -14,7 +14,7 @@ class Pages
* @param int $onpage количество страниц на странице
* @param int $count количество всех страниц
* @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 = '?')
{