packettide / bree
Eloquent 的表单层,支持多种字段包
v1.1.2
2014-03-25 18:28 UTC
Requires
- php: >=5.3.0
- illuminate/database: 4.1.x
- illuminate/support: 4.1.x
- packettide/bree-fs-advanced: dev-master
- symfony/http-foundation: 2.4.*
Requires (Dev)
- mockery/mockery: 0.7.2
- phpunit/phpunit: 3.7.*
This package is not auto-updated.
Last update: 2024-09-23 15:41:03 UTC
README
#Bree
Bree 提供了一个接口,可以将字段类型与现有的 Eloquent 模型属性关联起来。
此项目仍处于早期阶段,可能会有重大更改。
##安装
使用 Laravel 4 和 Composer
- 将
"packettide/bree": "1.x"
添加到 composer.json 中的 'require' 块 - 运行
composer update
- 将
'Packettide\Bree\BreeServiceProvider',
添加到 app/config/app.php 中的 $providers 数组 - 然后发布所有 Bree 资产 -
php artisan bree:assets
##基本用法
在本节中,我们将介绍如何与 Bree 交互的基础知识。Bree 通过包装现有的 Eloquent 模型并附加字段定义到模型属性来实现功能。
在路由/控制器中定义 Bree 字段
$book = new Bree('Book', array(
'title' => array('type' => 'Text')
));
在 Eloquent 模型中定义 Bree 字段
在 app/models/Book.php 中
<?php
class Book extends Eloquent {
public $breeFields = array(
'title' => array('type' => 'Text')
);
请注意,您可以在模型中定义基本字段映射,如果需要,可以覆盖路由中的字段。
显示新的模型
$book = new Bree('Book');
echo $book; //this will output fields for all defined attributes
显示现有的模型
$book = new Bree('Book');
$book->find(1);
echo $book;
显示 Bree 字段
如果您不想显示模型的所有 Bree 字段或想要控制顺序,可以在视图中使用模型属性,如下所示
// Route
$book = new Bree('Book');
return View::make('books.create', array('book' => $book));
// View
{{ $book->title }} // this will output the label if available, followed by the field
{{ $book->title->field() }} // outputs the field only
{{ $book->title->label() }} // outputs the label only
更新/保存数据
$input = Input::except('_token');
$book = new Bree('Book');
foreach($input as $key => $value)
{
$book->$key = $value;
}
$book->save();
字段定义
以下是一个字段定义的示例
array('comments' => array('type' => 'Relate', 'label' => 'Book Comments', 'related' => 'Comment', 'title' => 'title'))
- 此数组键(注释)是该字段应关联的 Eloquent 属性或关系的名称。
- 类型:这是字段类型的名称
- 标签:这是一个可选属性,用于生成字段的相应 HTML 标签
核心字段类型
以下字段类型是默认可用的
- Cell - 允许对相关 Bree 模型进行内联修改
- Date - HTML5 日期输入
- File - 单个文件上传字段
- Relate - 可以轻松地将相关模型绑定到一起
- Text - 简单文本输入
- Textarea - 简单文本区域输入
- Time - HTML5 时间输入
使用其他字段
将另一个字段包添加到您的项目通常涉及将依赖项添加到 composer.json 文件中,并使用应用程序注册服务提供程序。以下是一些字段包,它们在其项目页面上提供了更详细的说明
使用 Bree 搭建脚手架
虽然 Bree 是一个简单的层,可以添加到现有的 Eloquent 模型上,但您可能会发现设置字段到属性以及模型关系等的映射很麻烦。我们还有一个名为 Sire 的包,它可以帮助解决此问题,同时提供一种简单的方法来使用 Bootstrap 3 搭建应用程序。
扩展 Bree
“Bree”是一款灵活可扩展的基础构建工具,可根据项目的需求创建字段类型。 要了解如何创建自己的字段包,请从这里开始。
许可证
Bree 是开源软件,采用MIT 许可协议。