adamgoose / abstraction
此软件包最新版本(dev-master)没有提供许可证信息。
抽象 - 摘要
dev-master
2013-11-14 22:38 UTC
Requires
- php: >=5.3.0
- illuminate/support: 4.0.*
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()
。
贡献
此软件包是一个最小的软件包,旨在简化验证过程,可能消除对验证和/或创建服务的需求。话虽如此,对这个软件包的贡献将相应考虑。如果您认为抽象可以做得更好,请随时提交问题和/或拉取请求。