paupaul/ppadmin 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

paupaul/ppadmin

最新稳定版本:v1.0.7

Composer 安装命令:

composer require paupaul/ppadmin

包简介

Laravel admin panel plugin (Ppadmin) - installable via Composer

README 文档

README

Плагин добавляет в приложение Laravel админ-панель с CRUD по ресурсам. Устанавливается через Composer. Ресурсы определяются в приложении в пространстве имён App\Ppadmin.

Установка

1. Установка пакета

Локально (текущий репозиторий):

В composer.json вашего проекта добавьте репозиторий и пакет:

{
    "repositories": [
        {
            "type": "path",
            "url": "../ppadmin"
        }
    ],
    "require": {
        "paupaul/ppadmin": "@dev"
    }
}

Либо из корня монорепозитория (если ppadmin лежит в корне):

"repositories": [
    { "type": "path", "url": "./ppadmin" }
],
"require": {
    "paupaul/ppadmin": "@dev"
}

Затем:

composer update paupaul/ppadmin

2. Создание связей (ресурсов админки)

После установки создайте папку и классы ресурсов в приложении:

php artisan ppadmin:install

Команда создаёт каталог app/Ppadmin и (при отсутствии) пример ресурса ExamplePpadmin.php. Далее:

  • В app/Ppadmin/ добавляйте классы ресурсов с суффиксом Ppadmin (например, ProductPpadmin, PromptPpadmin).
  • Каждый класс должен наследовать Ppadmin\Models\Resource, указывать $model, $title, $search и реализовывать метод fields(Request $request) с полями из Ppadmin\Models\Fields\*.

Пример минимального ресурса:

<?php

namespace App\Ppadmin;

use Illuminate\Http\Request;
use Ppadmin\Models\Resource;
use Ppadmin\Models\Fields\ID;
use Ppadmin\Models\Fields\Text;

class ProductPpadmin extends Resource
{
    public static $model = \App\Models\Product::class;
    public static $title = 'name';
    public static $search = ['id', 'name'];

    public static function label(): string
    {
        return 'Товар';
    }

    public function fields(Request $request): array
    {
        return [
            ID::make()->sortable(),
            Text::make('Название', 'name'),
        ];
    }
}

Доступные поля: ID, Text, Textarea, Number, Date, Boolean, Select, File, Image, Heading, NestedForm (из пространства имён Ppadmin\Models\Fields).

При сохранении записей пакет вызывает у модели статический метод preUpdatedFields(array $data), если он объявлен — так можно фильтровать или дополнять данные перед create/update. Если метода нет, используются переданные поля как есть.

3. Маршруты и авторизация

  • Маршруты регистрируются автоматически (префикс по умолчанию: /ppadmin).
  • К маршрутам админки по умолчанию подключены middleware web и auth — убедитесь, что в приложении настроена аутентификация и пользователь должен быть авторизован для доступа к админке.

4. Конфигурация (по желанию)

Опубликовать конфиг и изменить префикс или middleware:

php artisan vendor:publish --tag=ppadmin-config

В config/ppadmin.php:

  • route_prefix — префикс URL (по умолчанию ppadmin); можно задать через PPADMIN_ROUTE_PREFIX в .env.
  • middleware — массив middleware для маршрутов админки.

Использование в существующем проекте (yandex-gpt-integration)

Если вы переносите проект с уже существующей папкой ppadmin внутри приложения:

  1. Установите пакет paupaul/ppadmin из папки ppadmin в корне (как выше).
  2. Удалите из composer.json автозагрузку "Ppadmin\\": "ppadmin/" и подключение ppadmin/routes.php из RouteServiceProvider — маршруты и классы теперь идут из пакета.
  3. Оставьте в приложении только app/Ppadmin/ с вашими ресурсами (например, PromptPpadmin, HistoryPpadmin и т.д.).
  4. При необходимости выполните php artisan ppadmin:install и настройте конфиг (префикс/ middleware).

После этого связи в коде остаются те же: ресурсы в App\Ppadmin, наследование от Ppadmin\Models\Resource, поля из Ppadmin\Models\Fields\*.

统计信息

  • 总下载量: 10
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-02-07

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固