Бесплатный PHP PM API для создания пользовательских приложений управления проектами
Открытая PHP-библиотека управления проектами, позволяющая разработчикам создавать пользовательские приложения управления проектами и помогать командам сотрудничать, отслеживать задачи и эффективно управлять ресурсами
Что такое библиотека Web2Project?
В мире разработки программного обеспечения управление проектами — это больше, чем просто модное слово; это фундамент успешной, своевременной и эффективной поставки программного обеспечения. Будь вы фрилансером, управляющим несколькими клиентами, или руководителем команды, координирующим распределённую команду разработчиков, наличие правильных инструментов может иметь решающее значение. Здесь на помощь приходит Web2Project — открытая система управления проектами, разработанная с учётом потребностей разработчиков. Библиотека предоставляет широкий набор функций, включая управление задачами и проектами, учёт времени, распределение ресурсов, управление файлами и документами, модульную архитектуру и многое другое. Пользователи могут использовать готовые компоненты для ускорения разработки приложений управления проектами.
Web2Project — мощная открытая система управления проектами, предназначенная для помощи командам в совместной работе, отслеживании задач и эффективном управлении ресурсами. Являясь наследником dotProject, Web2Project предлагает гибкую и модульную архитектуру, что делает её отличным выбором для разработчиков, желающих создавать пользовательские приложения управления проектами или интегрировать отслеживание проектов в существующие системы. Библиотека также поддерживает модификацию ядра или добавление новых модулей под специфические бизнес‑требования с лёгкостью. Открытые библиотеки обычно бесплатны, что снижает затраты на разработку. Их модульный дизайн, поддержка API и активное сообщество делают их сильным выбором для компаний и разработчиков, ищущих гибкое решение для управления проектами.
Начало работы с Web2Project
Рекомендуемый способ установки Web2Project — через Composer. Пожалуйста, используйте следующие команды для гладкой установки.
Установить Web2Project через Composer
// add the following lines to your composer.json.
{
"require": {
"phpoffice/Web2Project": "dev-master"
}
}
Установить Web2Project через GitHub
git clone https://github.com/web2project/web2project.git
Вы можете скачать его напрямую со страницы GitHub
Контроль доступа на основе ролей
Открытая библиотека Web2Project предлагает детализированные разрешения пользователей и ролей с использованием ACL (списки контроля доступа). Каждый пользователь имеет определённые роли, а каждый модуль или функция могут быть ограничены уровнями прав (просмотр, редактирование, удаление и т.д.). Это гарантирует, что только уполномоченные пользователи могут просматривать или изменять данные — идеальное решение для многопользовательских приложений или систем, основанных на командах.
Как проверить разрешения пользователя в вашем модуле через PHP‑библиотеку
global $AppUI;
if (!$perms->checkModuleItem('my_module', 'view', $my_module_id)) {
$AppUI->redirect('m=public&a=access_denied');
}
Управление задачами и проектами через PHP API
Открытая библиотека Web2Project включает мощную поддержку создания и управления задачами и проектами внутри PHP‑приложений. Библиотека поддерживает систему управления задачами с оценкой времени, зависимостями, процентом выполнения и диаграммами Ганта программно внутри PHP‑приложений. Ниже простой пример, показывающий, как разработчики могут создать задачу и как получить и отобразить существующие задачи в модуле через PHP‑команды.
Как создать задачу или отобразить существующие задачи внутри PHP‑приложений?
$task = new CTask();
$task->task_project = $project_id;
$task->task_name = 'Initial Planning';
$task->task_start_date = '2025-04-15 08:00:00';
$task->task_end_date = '2025-04-20 17:00:00';
$task->task_duration_type = 1; // days
$task->task_owner = $AppUI->user_id;
$task->store();
// Display Tasks
$q = new w2p_Database_Query();
$q->addTable('tasks');
$q->addQuery('*');
$q->addWhere('task_project = ' . (int)$project_id);
$tasks = $q->loadList();
Генерация отчетов через движок отчетов
Открытая библиотека Web2Project поддерживает встроенные и пользовательские отчёты через модули внутри PHP‑приложений. Разработчики могут создавать CSV, PDF или веб‑отчёты напрямую из запросов к базе данных, используя всего несколько строк кода. Такая возможность экспорта полезна для пользовательских панелей, метрик команды или клиентских поставок. Ниже пример, показывающий, как разработчики могут создать пользовательский CSV‑отчёт с помощью PHP‑команд.
Как создать пользовательский CSV‑отчёт через PHP‑библиотеку?
header("Content-Type: text/csv");
header("Content-Disposition: attachment; filename=\"report.csv\"");
$output = fopen("php://output", "w");
fputcsv($output, ['Task Name', 'Start Date', 'End Date']);
foreach ($tasks as $task) {
fputcsv($output, [$task['task_name'], $task['task_start_date'], $task['task_end_date']]);
}
fclose($output);
exit;
Управление документами и файлами
Каждый проект может включать загрузку файлов. Документы могут иметь версии, быть привязанными к конкретным задачам и управляться по пользователям. Централизованное хранение документов и файлов проекта важно для организации. Открытая библиотека Web2Project может предоставить функции загрузки, организации, версионирования и совместного использования файлов в PHP‑проектах.