adamgoose/abstraction

此软件包最新版本(dev-master)没有提供许可证信息。

抽象 - 摘要

dev-master 2013-11-14 22:38 UTC

This package is auto-updated.

Last update: 2024-08-29 03:57:59 UTC


README

为Laravel设计的抽象旨在将所有模型验证内置于模型本身。

特性

抽象只做一件事:为您验证模型!只需在您的模型上定义$rules变量,并扩展抽象模型,即可大功告成!

要求

抽象是为Laravel构建的,具体为4.0.*

安装

要安装抽象,只需将"adamgoose/abstraction": "dev-master"添加到您的composer.json中,并执行composer update

使用

要在模型上使用抽象,请扩展Adamgoose\Abstraction\Model而不是Eloquent,如下所示

<?php

use Adamgoose\Abstraction\Model;

class Item extends Model {

}

一旦您扩展了抽象,您可以简单地添加验证规则到模型中,如下所示

  public static $rules = [
    // validation rules
    'name' => 'required',
  ];

您还可以自定义验证消息

  public static $messages = [
    // validation messages
    'name' => 'The Name field is required.'
  ];

当您准备好保存模型时,您可以通过两种方式完成

传统方式

$item = Item::find($id);
$input = Input::all();

$validation = $item->fill($input)->save() ?: $item->errors;

抽象方式

$item = Item::find($id);
$input = Input::all();

$validation = $item->fillAndSave($input) ?: $item->errors;

是的,fillAndSave(array $attributes)方法简单地执行了fill(array $attributes)并返回了save()

贡献

此软件包是一个最小的软件包,旨在简化验证过程,可能消除对验证和/或创建服务的需求。话虽如此,对这个软件包的贡献将相应考虑。如果您认为抽象可以做得更好,请随时提交问题和/或拉取请求。