PHPackages                             calject/laravel-productivity - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. calject/laravel-productivity

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

calject/laravel-productivity
============================

laravel-productivity

v0.2.6(6y ago)014MITPHPPHP ^7.0

Since Nov 11Pushed 6y ago1 watchersCompare

[ Source](https://github.com/calject/laravel-productivity)[ Packagist](https://packagist.org/packages/calject/laravel-productivity)[ RSS](/packages/calject-laravel-productivity/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependencies (1)Versions (5)Used By (0)

laravel-productivity
====================

[](#laravel-productivity)

- [安装](#%E5%AE%89%E8%A3%85)
- [一、Components](#%E4%B8%80components)
    - [1. Rules](#1rules)
    - [2. 注解路由实现](#2%E6%B3%A8%E8%A7%A3%E8%B7%AF%E7%94%B1%E5%AE%9E%E7%8E%B0)
- [二、Commands](#%E4%BA%8Ccommands)
    - [1. 创建类顶部注释](#1caljectcommentdata)
    - [2. 创建数据库模型字段注释](#2caljectcommentmodel)
    - [3. 生成env映射配置文件](#3caljectconfigenv)
    - [4. 查看队列列表](#4caljectqueuelist)

安装
--

[](#安装)

```
composer require calject/laravel-productivity

```

v0.2.5
------

[](#v025)

> 添加队列显示命令 [`calject:queue:list`](#caljectqueuelist)

v0.2.\*
-------

[](#v02)

> 添加路由注解实现`AnnotationRoute`

### 一、Components

[](#一components)

#### 1.`Rules`

[](#1rules)

> 示例: 在`resources/lang/en`或者`resources/lang/en`(根据app.php配置)下定义键及验证规则

```
    /*
     |--------------------------------------------------------------------------
     | 自定义字段验证规则
     |--------------------------------------------------------------------------
     | 自定义字段验证规则
     |
     */
    'rules' => [
        /* ======== 接口参数规则定义 ======== */
        'username' => 'required|string|min:2',
        'id_card' => 'required|alpha_num|min:15|max:18',
        'mobile' => 'required|digits:11',
        'bankcard' => 'required|digits_between:12,21',
        'sms_code' => 'required|digits_between:4,6',
        'unique_code' => 'required|string',
        'order_no' => 'required|string|max:32',
        'amount' => 'required|numeric',
        'periods' => 'required|numeric|min:1|max:12'
    ],
```

> 生成验证规则数组

```
$rules = Rules::get(['username', 'id_card'])->rules();

/** 生成结果:
 array:4 [▼
   "username" => "required|string|min:2"
   "id_card" => "required|alpha_num|min:15|max:18"
   "bankcard" => "required|digits_between:12,21"
   "mobile" => "required|digits:11"
 ]
*/

$rules = \App\Repositories\Component\Rules\Rules::get(['username', 'id_card', 'bankcard', 'mobile'])->with([
    'value1' => 'required|string',
    'value2' => 'json'
])->rules();

/** 生成结果:
 array:6 [▼
   "value1" => "required|string"
   "value2" => "json"
   "username" => "required|string|min:2"
   "id_card" => "required|alpha_num|min:15|max:18"
   "bankcard" => "required|digits_between:12,21"
   "mobile" => "required|digits:11"
 ]
*/

$rules = Rules::get(['ssss', 'uuuu'])->with([
    'value1' => 'required|string',
    'value2' => 'json'
])->rules();

/** 生成结果:
 array:4 [▼
   "value1" => "required|string"
   "value2" => "json"
   "ssss" => "required"
   "uuuu" => "required"
 ]
*/
```

### 2.注解路由实现

[](#2注解路由实现)

> `AnnotationRouteLocalProvider`、`AnnotationRouteProvider`、`AnnotationRoute`

#### 服务提供者注册实现

[](#服务提供者注册实现)

- `config/app.php` =&gt; 'providers' 属性中添加`AnnotationRouteLocalProvider`或`AnnotationRouteProvider`服务提供者

> `AnnotationRouteLocalProvider`仅在env环境为local中生效, `AnnotationRouteProvider` 在所有环境中生效, 可通过`AnnotationRoute`的`env`方法设置

#### 自定义实现

[](#自定义实现)

- `app/Providers/RouteServiceProvider.php` 中添加注解实现`AnnotationRoute`

```
    /**
     * Define the routes for the application.
     *
     * @return void
     */
    public function map()
    {
        $this->mapApiRoutes();

        $this->mapCreditRoutes();

        $this->mapDevelopRoutes();

        $this->mapTestRoutes();

        // 添加注解实现
        $annotationRoute = new AnnotationRoute();
        // $annotationRoute->envs('local');    // 设置生效环境
        // $annotationRoute->envs(['local', 'develop']);    // 设置生效环境
        $annotationRoute->mapRefRoutes();

    }
```

#### 使用

[](#使用)

- Class顶部注释(可选)

    - @route()
        - prefix(string $prefix)
            - `prefix='test'`
        - middleware(string $middleware)
            - `middleware='api'`、`middleware='api,mid,mid2'`
    - 示例
        - `@route(prefix='test', middleware='api,mid,mid2')`
- Method 可选注释

    - @api(string $path)
        - `@api('test/TestA')`、`@api(test/TestA)`
    - @method(string $method)
        - `@method('get')`、`@method('get,post,put,delete')`
    - @middleware(string $middleware)
        - `@middleware('test')`、`@middleware('test,mid,mid2')`
    - @name(string $value)
        - `@name('TestControllerTestA')`、 `@name(TestControllerTestA)`
    - @prefix(string $prefix)
        - `@prefix('test')`、 `@prefix(test)`
- 示例

```
