angle/架构

Laravel 的敏捷开发套件。

v1.0.0-alpha 2019-01-31 16:06 UTC

This package is auto-updated.

Last update: 2024-09-12 05:56:06 UTC


README

为 Laravel 框架提供的软件架构库。

介绍

Architect 提供了一种表达性的方式来组织和生成用于承载应用程序业务逻辑的样板类。本包的目标是实现一个面向组件的后端架构。通过使用解耦的组件,你可以在多个服务(控制器和各种 API 端点)之间重用代码的一部分。

Architect 将为它生成的每个类创建测试,鼓励团队内采用测试驱动开发的方法。

安装

Composer

首先,将 Architect 包添加到你的依赖项中

composer require angle/architect

运行 Architect 安装程序

要完成安装过程并配置包,使用 architect:install Artisan 命令

php artisan architect:install

生成冲刺

要创建冲刺,使用 make:sprint Artisan 命令

php artisan make:sprint "Create new user"

新的冲刺将被放置在你的 sprints 目录中(你可以在安装期间设置,或者通过编辑 config/architect.php)。每个冲刺文件名都包含一个时间戳,这允许 Laravel 确定冲刺的顺序。

冲刺结构

冲刺类包含一个方法:run。该方法用于为这些生成新功能、任务和测试。

在此方法中,你可以使用 Architect 代码蓝图表达性地创建新类。

<?php

use Angle\Architect\Sprint;
use Angle\Architect\Code\Blueprint;
use Angle\Architect\Facades\Architect;

class CreateNewUserSprint extends Sprint
{
    /**
     * Runs the sprint.
     *
     * @return void
     */
    public function run()
    {
        Architect::feature('Create new user', function (Blueprint $code) {
            $code->task('validate request')->expect('request')->return('is valid');
            $code->task('save user')->expect('request')->return('user');
            $code->task('send email to administrators')->expect('user');
        });
    }
}

运行冲刺

要运行所有冲刺,执行 sprint Artisan 命令

php artisan sprint

模拟运行冲刺

你可以安全地测试你的冲刺,通过带有 --pretend 选项的 sprint Artisan 命令

php artisan sprint --pretend

强制覆盖现有文件

你可以通过运行带有 --force 选项的 sprint Artisan 命令来强制覆盖现有文件

php artisan sprint --force

回滚冲刺

就像你对 Laravel 迁移所做的那样,你可以回滚冲刺。这将删除最后一批生成的任何文件。注意:你还可以附加 --pretend 选项以预览更改。

php artisan sprint:rollback