PHP code example of inlayphp / inlay

1. Go to this page and download the library: Download inlayphp/inlay library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

inlayphp / inlay example snippets


use Inlay\MediaManager\MediaManagerPlugin;
use Inlay\PermissionManager\PermissionManagerPlugin;

return $panel->plugins([
    PermissionManagerPlugin::make(),
    MediaManagerPlugin::make(),
]);



namespace App\Inlay\Resources;

use App\Models\User;
use App\Validation\UserRules;
use Illuminate\Database\Eloquent\Model;
use Inlay\Actions\Action;
use Inlay\Forms\Fields\Select;
use Inlay\Forms\Fields\TextInput;
use Inlay\Forms\Fields\Toggle;
use Inlay\Forms\Form;
use Inlay\Resources\Resource;
use Inlay\Resources\ResourceOperation;
use Inlay\Tables\Columns\BadgeColumn;
use Inlay\Tables\Columns\TextColumn;
use Inlay\Tables\Filters\SelectFilter;
use Inlay\Tables\Table;

final class UserResource extends Resource
{
    protected static string $model = User::class;

    protected static ?string $navigationIcon = 'users';

    protected static bool $usesLaravelPolicy = true;

    public static function table(Table $table): Table
    {
        return $table
            ->columns([
                TextColumn::make('name')->searchable()->sortable(),
                TextColumn::make('email')->searchable(),
                BadgeColumn::make('status')->colors([
                    'active' => 'success',
                    'suspended' => 'danger',
                ]),
            ])
            ->filters([
                SelectFilter::make('status')->options([
                    'active' => 'Active',
                    'suspended' => 'Suspended',
                ]),
            ])
            ->actions([
                Action::make('delete')
                    ->url('/users/{id}')
                    ->method('delete')
                    ->color('danger')
                    ->

use Inlay\Resources\Pages\ListRecords;

final class ListUsers extends ListRecords
{
    protected static string $resource = UserResource::class;

    protected static string $component = 'users/index';
}

use App\Inlay\Resources\UserResource;
use Illuminate\Foundation\Http\Middleware\HandlePrecognitiveRequests;
use Inlay\Resources\Facades\InlayResources;

InlayResources::routes([UserResource::class], [
    'middleware' => ['auth'],
    'mutationMiddleware' => [HandlePrecognitiveRequests::class],
]);

use Inlay\Forms\Fields\Select;
use Inlay\Forms\Fields\TextInput;
use Inlay\Forms\Fields\Toggle;
use Inlay\Forms\Form;
use Inlay\Schemas\Components\Grid;
use Inlay\Schemas\Components\Section;

$form = Form::make('create-user')
    ->action(route('users.store'))
    ->method('post')
    ->validation(UserRules::class, 'create')
    ->precognitive(mode: 'blur', debounce: 350)
    ->schema([
        Section::make('account')->label('Account')->schema([
            Grid::make(2)->schema([
                TextInput::make('name')->::make('active')->default(true),
            ]),
        ]),
    ]);

return inertia('users/create', ['form' => $form]);

$table = Table::make('users')
    ->searchPlaceholder('Search users…')
    ->columns([
        TextColumn::make('name')->searchable()->sortable(),
        TextColumn::make('email')->searchable(),
        BadgeColumn::make('status'),
        BooleanColumn::make('active'),
    ])
    ->filters([
        SelectFilter::make('role')->options(Role::labels()),
        SelectFilter::make('status')->options(Status::labels()),
    ])
    ->actions([
        Action::make('edit')->url('/users/{id}/edit'),
        Action::make('delete')
            ->url('/users/{id}')
            ->method('delete')
            ->

use Inlay\Tables\Views\TableView;

$table->views([
    TableView::make('active')
        ->label('Active users')
        ->filters(['status' => 'active'])
        ->sort('name')
        ->default(),
    TableView::make('invited')->filters(['status' => 'invited']),
]);

use Illuminate\Validation\Rule;
use Inlay\Validation\ValidationContext;
use Inlay\Validation\Validation;

final class UserRules extends Validation
{
    public function rules(ValidationContext $context): array
    {
        return [
            'name' => ['  public function prepare(array $data, ValidationContext $context): array
    {
        $data['email'] = strtolower(trim((string) ($data['email'] ?? '')));

        return $data;
    }
}

/**
 * @param  array<string, mixed>  $data
 * @return array<string, mixed>
 */
protected static function mutateDataBeforeCreate(array $data): array
{
    return [...$data, 'password' => Str::random(32)];
}

protected static function afterCreate(Model $record, array $data): void
{
    UserCreated::dispatch($record);
}

$infolist = Infolist::make('user')
    ->schema([
        Section::make('Account')->columns(2)->schema([
            TextEntry::make('name')->copyable(),
            TextEntry::make('email')->url('mailto:{state}'),
            IconEntry::make('active')->boolean(),
        ]),
    ])
    ->data($user->toArray());

use Inlay\Theme\Theme;

$panel->theme(
    Theme::default()
        ->accent('#7c3aed')
        ->radius('0.875rem')
        ->font('Inter, ui-sans-serif, system-ui')
        ->tokens(['sidebar-width' => '18rem'])
        ->darkTokens(['accent' => '#a78bfa'])
);
bash
php artisan migrate
php artisan inlay:make-user
npm run build
php artisan inlay:doctor --production
bash
php artisan inlay:install --panels --renderer=vue
bash
php artisan inlay:install \
  --panel=workspace \
  --tenant-model='App\\Models\\Team' \
  --tenant-parameter=team \
  --tenant-route-key=slug
bash
php artisan make:inlay-resource User
bash
php artisan make:inlay-form-page Billing/CreateInvoice --model=Invoice
php artisan make:inlay-table-page Reports/ListInvoices --model=Invoice
tsx
import { Form } from '@inlayphp/forms-react'
import { Table } from '@inlayphp/tables-react'

export default function UsersIndex({ form, table, errors }) {
  return (
    <>
      <Form resource={form} errors={errors} />
      <Table resource={table} />
    </>
  )
}
bash
php artisan make:inlay-theme Brand
bash
cd playground/laravel-react
composer install
pnpm install
cp .env.example .env
php artisan key:generate
touch database/database.sqlite
php artisan migrate --seed
pnpm run build
php artisan serve --port=8013