本文目录导读:

我理解您想了解PHP Orchid的相关信息,Orchid是一个流行的PHP后台管理面板框架,让我为您详细介绍。
Orchid 简介
Orchid 是一个基于 Laravel 框架的后台管理面板,它提供了优雅的UI和丰富的功能组件,帮助开发者快速构建管理后台。
安装步骤
环境要求
- PHP >= 8.0 - Laravel >= 9.0 - Composer
安装Orchid
# 创建新的Laravel项目(可选) composer create-project laravel/laravel your-project # 安装Orchid composer require orchid/platform # 运行安装命令 php artisan orchid:install # 创建管理员账户 php artisan orchid:admin admin admin@admin.com password
快速开始
创建第一个屏幕(Screen)
# 创建屏幕 php artisan orchid:screen UserScreen
定义Screen内容
<?php
namespace App\Orchid\Screens;
use Orchid\Screen\Screen;
use Orchid\Screen\Fields\Input;
use Orchid\Screen\Fields\TextArea;
use Orchid\Support\Facades\Layout;
use Orchid\Screen\Actions\Button;
use Illuminate\Http\Request;
class UserScreen extends Screen
{
/**
* 显示名称
*/
public function name(): string
{
return '用户管理';
}
/**
* 查询数据
*/
public function query(): array
{
return [];
}
/**
* 权限控制
*/
public function permission(): ?iterable
{
return [
'platform.systems.users',
];
}
/**
* 布局定义
*/
public function layout(): iterable
{
return [
Layout::rows([
Input::make('user.name')
->title('姓名')
->placeholder('请输入姓名')
->required(),
Input::make('user.email')
->title('邮箱')
->placeholder('请输入邮箱')
->type('email'),
TextArea::make('user.bio')
->title('简介')
->rows(5),
Button::make('保存')
->method('save')
->class('btn btn-primary'),
]),
];
}
/**
* 保存操作
*/
public function save(Request $request)
{
// 处理保存逻辑
$request->validate([
'user.name' => 'required',
'user.email' => 'required|email',
]);
// 保存数据
return redirect()->route('platform.user.list')->with('success', '保存成功!');
}
}
配置路由
在 routes/platform.php 文件中:
use App\Orchid\Screens\UserScreen;
use Tabuna\Breadcrumbs\Trail;
Route::screen('users', UserScreen::class)
->name('platform.user.list')
->breadcrumbs(function (Trail $trail) {
return $trail->parent('platform.index')
->push('用户管理', route('platform.user.list'));
});
创建菜单
在 app/Orchid/PlatformProvider.php 中:
public function menu(): array
{
return [
Menu::make('用户管理')
->icon('user')
->route('platform.user.list')
->title('系统管理'),
Menu::make('仪表盘')
->icon('speedometer')
->route('platform.index')
->title('概览'),
];
}
常用功能
数据表格
use Orchid\Screen\TD;
use Orchid\Screen\Actions\Link;
use Orchid\Screen\Actions\Button;
public function layout(): iterable
{
return [
Layout::table('users', [
TD::make('id', 'ID')
->sort(),
TD::make('name', '姓名')
->render(function ($user) {
return Link::make($user->name)
->route('platform.user.edit', $user);
}),
TD::make('email', '邮箱')
->sort(),
TD::make('created_at', '创建时间')
->sort(),
TD::make('action', '操作')
->alignRight()
->render(function ($user) {
return Button::make('删除')
->method('delete')
->confirm('确定删除该用户吗?')
->parameters(['id' => $user->id]);
}),
]),
];
}
表单组件
use Orchid\Screen\Fields\Input;
use Orchid\Screen\Fields\Select;
use Orchid\Screen\Fields\DateTimer;
use Orchid\Screen\Fields\Upload;
use Orchid\Screen\Fields\Relation;
Layout::rows([
Input::make('title')->title('标题'),
Select::make('status')
->options([
'active' => '激活',
'inactive' => '未激活'
])
->title('状态'),
DateTimer::make('publish_date')
->title('发布日期'),
Upload::make('avatar')
->title('头像'),
Relation::make('category_id')
->fromModel(Category::class, 'name')
->title('所属分类'),
])
Tabs布局
Layout::tabs([
'基本信息' => Layout::rows([
Input::make('name')->title('姓名'),
Input::make('email')->title('邮箱'),
]),
'联系方式' => Layout::rows([
Input::make('phone')->title('电话'),
Input::make('address')->title('地址'),
]),
])
权限控制
// 在Screen中定义权限
public function permission(): ?iterable
{
return [
'platform.systems.users' => '用户管理',
'platform.systems.roles' => '角色管理',
];
}
自定义样式
// 添加自定义CSS和JS
public function styles(): array
{
return [
'/css/custom.css',
];
}
public function scripts(): array
{
return [
'/js/custom.js',
];
}
常用命令
# 创建Screen php artisan orchid:screen MyScreen # 创建Layout php artisan orchid:layout MyLayout # 发布配置文件 php artisan vendor:publish --provider="Orchid\Platform\Providers\FoundationServiceProvider" # 更新Orchid composer update orchid/platform
部署注意事项
-
生产环境优化:
php artisan config:cache php artisan route:cache php artisan view:cache
-
文件权限:
chmod -R 755 storage/ chmod -R 755 bootstrap/cache/
-
环境变量:确保
.env文件配置正确。
学习资源
- 官方文档:https://orchid.software/en/docs
- GitHub:https://github.com/orchidsoftware/platform
- 社区论坛:https://github.com/orchidsoftware/platform/discussions
如果您有具体的使用场景或遇到特定问题,欢迎告诉我,我可以提供更针对性的解决方案!
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播