larapid
1.0.0
Laravel Nova のシンプルな無料代替品。
composer require internexus/larapid
php artisan vendor:publish --tag=larapid
<?phpnamespace AppProviders;use AppEntitiesUserEntity;use IlluminateSupportServiceProvider;use InternexusLarapidFacadesLarapid;class LarapidServiceProvider extends ServiceProvider {パブリック関数 register() { Larapid::entities([ ユーザーエンティティ::クラス、 ]); } }
<?phpnamespace AppEntities;use AppModelsUser;use InternexusLarapidEntitiesEntity;use InternexusLarapidFieldsEmail;use InternexusLarapidFieldsPassword;use InternexusLarapidFieldsText;class UserEntity extends Entity {public static $model = User::class;public static $title = 'Usuários';public function field() {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('ラベル', '列')
Date::make('作成日', '作成日')
Datetime::make('作成日', '作成日')
Boolean::make('パブリック')
電子メール::make('電子メール')
パスワード::make('パスワード')
URL::make('URL')
Money::make('価格')
Number::make('価格')->最小(10)->最大(100)
Select::make('ステータス')->options([1 => '承認', 2 => 'キャンセル'])
Textarea::make('コンテンツ')
Media::make('注目の画像', 'media_id') ->accept(['jpg', 'png']) ->maxSize(100000) // バイト単位 ->minDimension(100, 100) ->maxDimension(1920, 1080)
HasMany::make('ユーザー投稿', 'user_id', PostEntity::class, '投稿')
BelongsTo::make('ユーザー ロール', '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)