本文目录导读:

我理解您想了解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
如果您有具体的使用场景或遇到特定问题,欢迎告诉我,我可以提供更针对性的解决方案!