/
Francuz
/
DailyPort
Обзор
Документация
Войти
/
Francuz
/
DailyPort
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/TaskComment.php
62 строки
2 KB
Francuz
docs: подробные комментарии ко всем PHP-файлам проекта
15 июн 2026, 08:08
15 июн 2026, 08:08
594585d
Код
Авторство
О чём код?
<?php /** * Класс TaskComment — модель комментария к задаче. * * Комментарии привязаны к задаче через task_id. * Каждый комментарий содержит: * - user_name — имя автора (из сессии) * - content — текст комментария * - created_at — дата создания (автоматически) */ class TaskComment { private Database $db; public function __construct(Database $db) { $this->db = $db; } /** * Получить все комментарии задачи (хронологический порядок). * * @param int $taskId ID задачи * @return array Комментарии */ public function getByTask(int $taskId): array { $taskId = $this->db->escape((string)$taskId); $result = $this->db->query("SELECT * FROM task_comments WHERE task_id = $taskId ORDER BY created_at ASC"); return $result->fetch_all(MYSQLI_ASSOC); } /** * Добавить комментарий к задаче. * * @param int $taskId ID задачи * @param string $userName Имя автора (из сессии) * @param string $content Текст комментария * @return int ID созданного комментария */ public function create(int $taskId, string $userName, string $content): int { $taskId = $this->db->escape((string)$taskId); $userName = $this->db->escape($userName); $content = $this->db->escape($content); $this->db->query("INSERT INTO task_comments (task_id, user_name, content) VALUES ($taskId, '$userName', '$content')"); return (int)$this->db->query("SELECT LAST_INSERT_ID() AS id")->fetch_assoc()['id']; } /** * Удалить комментарий. * * @param int $id ID комментария */ public function delete(int $id): bool { $id = $this->db->escape((string)$id); $this->db->query("DELETE FROM task_comments WHERE id = $id"); return true; } }