areyi/taskmanager

Laravel 5 简单的任务管理器

0.3.2 2015-12-28 22:12 UTC

This package is not auto-updated.

Last update: 2024-09-18 17:42:50 UTC


README

Laravel 的简单任务管理器

  • 简单且可扩展
  • 方法链
  • 格式化器(alpha)

TaskManager 是一个 Laravel 扩展包,允许您创建项目和任务。目前该包处于 开发阶段,尚未准备用于生产。

版本

0.3.2

要求

  • Laravel - 版本 5(版本 4 <= 未测试,需要帮助)。
  • PHP - 版本 > 5.3

安装

将包作为 zip 文件下载,然后将其放置在 /vendor 文件夹中。

在您的 composer.json 文件中添加以下行,位于 psr-4 之下

"psr-4": {
    ...
    "Areyi\\TaskManager\\": "vendor/areyi/taskmanager/src"
}

之后,在 /config/app.php 文件中的 providers 数组中注册 TaskManagerServiceProvider

'Areyi\TaskManager\Laravel\TaskManagerServiceProvider'

并在同一文件中,将 TaskManager 别名放在 aliases 数组下

'TaskManager' => 'Areyi\TaskManager\Facades\TaskManager'

最后,运行所有迁移文件

php artisan migrate --path=vendor/areyi/taskmanager/src/database/migrations

用法

首先,您必须提供用户_id(您可以从您喜欢的身份验证管理器中获取)。这将确保项目和任务属于正确的用户。

$user_id = 1; // get from your login manager
TaskManager::setUserId($user_id);

1. 创建新项目

尝试这个

$project_details = [
    'name' => 'New Project',
    'name' => 'new_project', //optional
];

TaskManager::addProject($project_details);

这将返回

Areyi\TaskManager\Base Object
(
    [userID] => 1
    [result] => 1
    [project_id] => 77
)

2. 创建新任务

如果您之前已创建项目,则可以不提供 project_id 直接创建任务

$task_details = [
    'name' => 'New Task'
];

TaskManager::addTask($task_details);

或者您也可以将它们链起来创建多个任务

TaskManager::addTask($task_details)->addTask($task2_details)->addTask($task3_details);

这将返回

Areyi\TaskManager\Base Object
(
    [userID] => 1
    [result] => 1
    [project_id] => 79
    [task_id] => Array
        (
            [0] => 75
            [1] => 76
            [2] => 77
        )
)

您还可以同时创建项目和向其中添加任务

TaskManager::addProject($project_details)->addTask($task_details)->addTask($task_details);

3. 获取所有项目

获取所有现有项目

TaskManager::getProjects();

将直接返回

Areyi\TaskManager\Base Object
(
    [userID] => 1
    [projects] => Array
        (
            [0] => Array
                (
                    [id] => 1
                    [name] => Web Development Project
                    [slug] => webdev
                    [owner_id] => 1
                    [owner] => admin
                    [created_at] => 2015-12-26 01:00:55
                    [updated_at] => 2015-12-26 01:00:55
                )

            [1] => Array
                (
                    [id] => 2
                    [name] => New Project
                    [slug] => new_project
                    [owner_id] => 2
                    [owner] => staff
                    [created_at] => 2015-12-26 01:43:38
                    [updated_at] => 2015-12-26 01:43:38
                )
        )
)

4. 获取指定 project_id 的所有任务

获取分配给项目的所有任务

$project_id = 1;
TaskManager::getProject($project_id)->getTasks();

返回

Areyi\TaskManager\Base Object
(
    [userID] => 1
    [id] => 1
    [name] => Web Development Project
    [slug] => webdev
    [owner_id] => 1
    [owner] => admin
    [created_at] => 2015-12-26 01:43:38
    [updated_at] => 2015-12-26 01:43:38
    [tasks] => Array
        (
            [0] => Array
                (
                    [id] => 1
                    [name] => Buy a milk
                    [slug] => 
                    [author_id] => 1
                    [author] => admin
                    [completed] => 0
                    [description] => 
                    [created_at] => 2015-12-26 01:43:38
                    [updated_at] => 2015-12-26 01:43:38
                )

            [1] => Array
                (
                    [id] => 2
                    [name] => Buy a book
                    [slug] => 
                    [author_id] => 1
                    [author] => admin
                    [completed] => 0
                    [description] => 
                    [created_at] => 2015-12-26 01:43:38
                    [updated_at] => 2015-12-26 01:43:38
                )

        )

)

5. 获取所有内容

您还可以获取所有项目和它们的任务

TaskManager::getAll();

6. 删除项目

删除项目(这将删除同一项目下的所有任务)

$projectId = 1;
TaskManager::deleteProject($projectId);

7. 删除任务

删除任务

$task_id = 1;
TaskManager::deleteTask($task_id);

标记任务为完成

将任务标记为完成

TaskManager::completeTask($task_id)

格式化

这仍然处于 开发中!TaskManager 包含一个强大的格式化器,允许您在运行时编辑或删除项目和任务并完成任务。格式化器由 AJAX 驱动。

1. 获取所有项目列表

列出所有项目作为列表

TaskManager::getProjects()->format()->asList();

结果

  • Web 开发项目(由管理员创建) 删除
  • 测试项目(由管理员创建) 删除

2. 获取所有任务列表

列出项目下的所有任务作为列表

$project_id = 1;
TaskManager::getProject($project_id)->getTasks()->format()->asList();

结果

可用的路由列表

以下是包中可用的路由

可用的方法列表

以下是包中的方法

待办事项

  • 格式化器(50%)

许可证

BSD 3-Clause

贡献

欢迎为项目做出贡献!这将非常感激!最重要的是,这是一个 自由软件,太棒了!