internexus / larapid
Laravel Nova 的简单免费替代方案。
1.0.10-alpha
2022-07-05 00:25 UTC
Requires
- php: ^7.2.5|^8.0
- illuminate/support: ^7.0|^8.0
- inertiajs/inertia-laravel: ^0.4.4
- intervention/image: ^2.7
- laravel/ui: ^3.4
Requires (Dev)
- mockery/mockery: ^1.3.3|^1.4.2
This package is auto-updated.
Last update: 2024-09-05 05:27:07 UTC
README
Laravel Nova 的简单免费替代方案。
安装
通过 Composer 安装
composer require internexus/larapid
发布包资源
php artisan vendor:publish --tag=larapid
用法
创建服务提供者
<?php namespace App\Providers; use App\Entities\UserEntity; use Illuminate\Support\ServiceProvider; use Internexus\Larapid\Facades\Larapid; class LarapidServiceProvider extends ServiceProvider { public function register() { Larapid::entities([ UserEntity::class, ]); } }
创建实体
<?php namespace App\Entities; use App\Models\User; use Internexus\Larapid\Entities\Entity; use Internexus\Larapid\Fields\Email; use Internexus\Larapid\Fields\Password; use Internexus\Larapid\Fields\Text; class UserEntity extends Entity { public static $model = User::class; public static $title = 'Usuários'; public function fields() { return [ Text::make('Nome', 'name')->rules('required'), Email::make('E-mail', 'email')->rules('required|email|max:255'), Password::make('Senha', 'password')->rules('required|min:6|max:255'), ]; } }
字段
文本
Text::make('Label', 'column')
日期
Date::make('Created at', 'created_at')
日期时间
Datetime::make('Created at', 'created_at')
布尔值
Boolean::make('Public')
电子邮件
Email::make('E-mail')
密码
Password::make('Password')
网址
Url::make('Url')
货币
Money::make('Price')
数字
Number::make('Price')->min(10)->max(100)
选择
Select::make('Status')->options([1 => 'Approved', 2 => 'Cancelled'])
文本区域
Textarea::make('Content')
媒体
Media::make('Featured image', 'media_id') ->accept(['jpg', 'png']) ->maxSize(100000) // in bytes ->minDimension(100, 100) ->maxDimension(1920, 1080)
HasMany
HasMany::make('User posts', 'user_id', PostEntity::class, 'posts')
BelongsTo
BelongsTo::make('User role', 'role_id', UserEntity::class)
可用的字段方法
属性
help(string $text)
readOnly()
placeholder(string $placeholder)
验证
rules(array $rules)
creationRules(array $rules)
updateRules(array $rules)
可见性
showOnIndex()
showOnDetail()
showOnCreating()
showOnUpdating()
hideFromIndex()
hideFromDetail()
hideWhenCreating()
hideWhenUpdating()
onlyOnIndex()
onlyOnDetail()
onlyOnForms()
exceptOnForms()
搜索和排序
sortable()
searchable()
可用的实体方法
可见性
fieldsForIndex()
fieldsForDetail()
fieldsForCreating()
fieldsForUpdating()
操作
enableEditing()
enableDetail()
enableDeleting()
钩子
beforeSaving()
afterCreated()
afterUpdated()
重定向
redirectAfterCreate(Model $model)
redirectAfterUpdate(Model $model)
redirectAfterDelete(Model $model)