silvertipsoftware/laravel-trait-pack

Laravel的一些常用特性集合

v1.0.0 2015-11-02 22:32 UTC

This package is auto-updated.

Last update: 2024-09-18 02:06:33 UTC


README

Laravel 5的一些常用特性的基础集合。

概述

大多数特性都是可配置的,并采用了在不污染使用类中的属性名的情况下存储这些配置参数的标准化方式。

特性配置参数存储在一个名为 $traitConfigs 的静态属性中。这是一个关联数组,键由特性定义。本包中使用的是特性的完全限定名,但这不是强制性的。

例如,

    $traitConfig = [
        'SilvertipSoftware\LaravelTraitPack\HasActiveState' => [ 'field' => 'flag' ]
    ];

HasActiveState

向Laravel的Model添加一个isActive方法和一个作用域。底层的字段名是可配置的,默认为active

示例配置

    $traitConfig = [
        'SilvertipSoftware\LaravelTraitPack\HasActiveState' => [ 'field' => 'flag' ]
    ];

UsesAlternateConnection

允许为每个类或类层次结构配置可配置的连接名称。特别适用于库。连接名称可以直接在类上定义,使用

    $traitConfig = [
        'SilvertipSoftware\LaravelTraitPack\UsesAlternateConnection' => [ 'connection' => 'other_db' ]
    ]

或者在一个配置文件中,在database.alternateConnections标签下。

    'alternateConnections' => [
        'FullyQualifiedClassname' => 'other_db',
        'AnotherClassName' => 'some_other_connection'
    ]

类名将在层次结构中向上搜索,因此只需要在配置文件中指定基础类名。默认为null,或默认连接名称。

ValidatesTrait

向模型添加一个isValid方法,具有可配置的规则集。规则通过rules特性配置参数指定。可以使用creation_rules参数指定额外的规则。

示例

    $traitConfigs = [
        'SilvertipSoftware\LaravelTraitPack\ValidatesTrait' => [
            'rules' => [
                'name' => [ 'required', 'string', 'max:20' ],
                'age' => [ 'required', 'numeric', 'min:18' ]
            ],
            'creation_rules' => [
                'password' => [ 'required', 'string' ],
                'password_confirm' => [ 'required', 'string' ]
            ]
        ]
    ]

$model->errors消息包被设置,包含任何验证错误。