Download the PHP package zoujingli/smartadmin without Composer

On this page you can find all versions of the php package zoujingli/smartadmin. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package smartadmin

# SmartAdmin

Latest Stable Version Total Downloads Monthly Downloads License

基于 Hyperf 3.2 + Swoole 6.2 + Vue 3 + TypeScript 的高性能前后端一体化管理系统框架。

采用插件化分层架构,内置完整的 RBAC 权限体系、多租户支持和一键二进制打包能力,可将整个应用(后端 + 前端资源包)打包为单个可执行文件,实现低依赖部署。

公开仓库与安装方式

SmartAdmin 公开生态由主项目和两个 Composer 基础包组成,普通用户直接使用 zoujingli/smartadmin 创建项目即可运行和二次开发。

仓库 Composer / 分发 角色边界
SmartAdmin zoujingli/smartadmin 开源主项目和正常使用入口,包含可运行后台框架、Web 通用壳、公开插件、文档和测试
SmartAdminLibrary zoujingli/smart-admin-library 开源基础库 Composer 包,提供 Core CRUD、统一响应、权限、数据范围、租户、日志、发布升级和源码期插件 ZIP 管理能力
SmartAdminBuilder zoujingli/smart-admin-builder 开源构建器 Composer 包,提供 Phar/SFX 打包、配置 AST 改写、源码加固、前端资源归档和二进制产物生成能力

推荐通过 Composer 创建正式发布版项目:

需要扩展插件时,可在 SmartAdmin 源码环境通过 xadmin:plugin:install <zip> 安装或用 --force 更新 ZIP 插件,再重新执行 Composer 更新和前端构建。私有/商用插件不发布 Composer 远程包,只通过 ZIP 分发,ZIP 内的 composer.json 仅用于本地 path autoload。

快捷入口

常见排障入口

特性亮点

技术栈

层面 技术选型
后端框架 Hyperf 3.2(PHP 8.4+)
协程引擎 Swoole 6
数据库 MySQL 8.0+
缓存 默认 File;生产推荐 Redis(Memory / CoroutineMemory 可选,CACHE_DRIVER 切换)
认证 JWT(lcobucci/jwt 5.x)
前端框架 Vue 3 + TypeScript
UI 组件库 Ant Design Vue(Vben Admin Pro)
构建工具 Vite + Turbo(pnpm Monorepo)
包管理 Composer(后端)/ pnpm 10+(前端)

项目结构

公开 SmartAdmin 主仓保持可直接运行和二次开发的最小源码结构;基础库与构建器通过独立 Composer 包安装到 vendor/,私有/商用插件只在本地安装 ZIP 后进入 plugin/<Module>

zoujingli/smart-admin-libraryzoujingli/smart-admin-builder 是独立公开 Composer 包,正式环境可直接使用已发布版本;私有/商用插件通过 ZIP 安装后进入本地 plugin/<Module>,不属于 SmartAdmin 开源主仓目录。

快速开始

环境要求

依赖 版本 说明
PHP >= 8.4 需启用 swoole、zlib、bcmath、openssl、pdo_mysql、redis 扩展
MySQL >= 8.0 主数据存储
Redis >= 6.0 生产/多实例下缓存与会话推荐;本地开发可用 File 驱动
Node.js >= 20 前端构建
pnpm >= 10 前端包管理

Composer 脚本默认通过 bin/smart.php runtime 选择仓库内置 Swoole 6.2 运行时;本机没有对应架构的内置运行时时,才回退到带 Swoole/OpenSwoole 扩展的 php。项目统一使用 bin/smart.php 作为命令入口;无参数 ./bin/smart.php 默认进入开发 watch 模式,生产或一次性前台服务请显式执行 ./bin/smart.php start

后端安装

推荐直接使用已发布的 Composer 包创建项目;这样会从 Packagist 安装 zoujingli/smartadmin 的正式版本,并自动安装后端依赖。

如果需要跟踪 GitHub master 或参与贡献,也可以克隆公开仓源码:

完成项目创建或克隆后,继续配置环境、初始化数据库并启动服务:

如果解压或复制后执行权限丢失,先执行 chmod +x ./bin/smart.php./bin/smart.php 默认等价于开发 watch 启动,只适合本地源码调试。生产环境请用 ./bin/smart.php start 配合 systemd、Supervisor 或容器编排管理进程,不要使用无参数入口或 watch 模式。

前端安装

前端开发默认直连后端 http://127.0.0.1:9501(由 apps/web-antd/.env.developmentVITE_DEV_USE_PROXY=false 控制,具体 VITE_GLOB_API_URLvite.config.mts 注入)。若希望走 Vite 代理(避免配置 CORS),可在该文件将 VITE_DEV_USE_PROXY 设为 true,或使用 pnpm dev:antd:proxy;代理模式统一请求 /api/<真实接口前缀>,由 Vite 转发到后端真实路径。强制直连可用 pnpm dev:antd:direct

默认访问

入口 地址 说明
在线演示 https://smart.thinkadmin.top 默认账号 admin / admin,演示环境限制关键数据修改、删除和禁用
前端开发 http://localhost:5666 Vite Dev Server
后端 API http://localhost:9501 .envAPP_WORKER_PORT 为准
默认账号 admin / admin 超级管理员

在线演示站使用 APP_ENV=demo 运行,可正常登录和体验查询、Project 普通业务流程;系统基础资料、账号权限、全局配置、微信配置、删除、恢复和禁用类操作会返回 演示环境禁止修改关键数据

核心功能

系统管理(System 模块)

功能模块 能力说明
认证鉴权 登录 / 登出 / Token 刷新 / 用户信息获取
用户管理 CRUD / 状态 / 密码重置 / 分配角色 / 分配部门 / 分配岗位
角色管理 CRUD / 状态 / 权限节点分配 / 查看关联用户
菜单管理 树形 CRUD / 排序 / 用户菜单 / 权限按钮
部门管理 树形 CRUD / 排序 / 部门成员
岗位管理 CRUD / 状态 / 排序
租户管理 租户资料 / 状态 / 有效期 / 租户管理员开通
文件管理 文件记录 / 上传配置 / 回收站 / 统计去重
通知中心 公告发布 / 接收人投放 / 收件箱 / 已读归档
日志管理 查询 / 导出 / 清理 / 归档 / 统计分析
系统参数 运行参数 / 界面配置 / 安全配置脱敏
系统数据 系统配置 / JSON 文档存储 / 能力矩阵

权限体系

采用三层权限模型,注解声明与数据库存储相结合:

多租户(System 内置能力)

前端功能

基于 Vben Admin Pro 深度定制,已实现以下页面:

API 接口规范

所有接口遵循 RESTful 风格,统一响应格式:

HTTP status 固定返回 200,body.code 约定:200 成功、401 Token 缺失/过期/无效或刷新失败、403 有效 Token 无操作权限、404 页面或 API 路由不存在、500 业务异常/校验失败/数据不存在。统一响应由 ResponseExceptionHandler 输出,路由 404 不单独维护第二套处理器。

标准 CRUD 接口路径:

操作 方法 路径
列表 GET /{module}/{resource}/index
详情 GET /{module}/{resource}/info/{id}
创建 POST /{module}/{resource}/create
更新 PUT /{module}/{resource}/update/{id}
删除 DELETE /{module}/{resource}/delete/{ids}
状态 PUT /{module}/{resource}/status/{id}
选项 GET /{module}/{resource}/options
统计 GET /{module}/{resource}/statistics

分层架构

Library — 基础能力层

不绑定具体业务类型的通用底座,提供:

System — 系统管理核心层

任何后台项目都需要的标准管理能力,并内置平台租户管理:

SmartAdminBuilder — 构建工具

独立 Composer 包 zoujingli/smart-admin-builder 提供 Phar 打包与 SFX 二进制生成:

构建与部署

一键构建

SmartAdmin 支持将整个应用打包为独立可执行文件:

构建产物:

构建流程

步骤 说明
前端产物 composer build 只复用并校验已有 web/dist/index.html;打包前需先执行 composer web:build 或由 CI 提供等价产物
基线同步 执行 xadmin:menu:syncxadmin:node:sync
清理环境 清理 build/ 产物、临时 Phar 与 runtime/container 预编译缓存
安装生产依赖 composer install --no-dev,仅运行时依赖
发布安装包 执行 xadmin:release:backup --install,生成 storage/extra/release 数据库安装包并打入 Phar
预编译缓存 预生成 scan.cacheclasses.cacheaspects.cache 与构建清单,降低二进制首次启动扫描成本
Phar 打包 源码 + 依赖 + 前端资源打入归档,自动过滤测试/文档
SFX 合并 Phar 与 Swoole 运行时拼接为可执行二进制
恢复开发环境 重新安装完整依赖

发布指令合集

命令 用途
composer release:check 发布前完整检查:静态分析、单测、前端构建、安装包生成与恢复 dry-run
composer release:backup 生成 storage/extra/release 数据库安装包(结构 + 必要数据)
composer release:restore:dry-run 基于安装包预览 restore --install SQL 与必要数据恢复计划
composer release:snapshot 连续执行安装包生成与 restore --install --dry-run
composer build:web 仅构建前端产物
composer build:sync 同步菜单、权限、模型和结构索引
composer build:clean 清理发布产物和容器预编译缓存
composer build:install-prod 安装生产依赖
composer build:snapshot 生成 storage/extra/release 发布安装包
composer build:precompile 预编译 Hyperf 容器缓存并生成构建指纹
composer build:phar 构建 Phar 并合并 Swoole 运行时
composer build:audit 审计 SFX/Phar 产物、预编译缓存和前端资源包
composer build:cleanup 清理临时 Phar 文件
composer build:restore-dev 恢复开发依赖环境
composer build 调用 .php-sfx-packer.php build 执行完整发布打包,复用并校验已有 web/dist

.php-sfx-packer.php 是标准打包编排器,支持 buildprecompileauditpack 四种模式;单独合并 SFX 时使用 @php .php-sfx-packer.php pack system.bin build/system

Swoole 基库

项目内置 bin/swoole-linux-x64bin/swoole-linux-a64bin/swoole-macos-a64 为精简 PHP 8.4 + Swoole 6.2 SFX 运行时,构建审计会校验必要扩展与禁用扩展。若需要自定义扩展或重新构建基库,可参考 zoujingli/phpsfx;本仓库不内置 phpsfx 构建工具。

最小化部署

最小启动只需两个文件即可运行;数据库安装包已经打入 Phar,运行备份默认写入二进制同级 runtime/backup

Swoole CLI 的 SFX 包装层需要通过 --self 进入追加的应用 Phar;二进制模式下执行应用命令统一使用 ./system-xxx --self <command>

启动后自动创建:

环境配置

所有运行参数通过 .env 控制,无需修改代码:

前端动态配置

SiteMiddleware 拦截 /_app.config.js 请求,将 .env 中的 APP_TITLEAPP_API_URL 动态生成为 JavaScript 注入前端运行时,实现部署后修改前端行为而无需重新构建前端

静态资源加速

Phar 内部携带 storage/extra/web-dist.zipstorage/extra/release/*,不会再打入 raw web/dist 目录,也不依赖外置数据库安装包目录。Phar 首次 startpublic/index.html 缺失时会自动发布;也可以手动发布到 public/ 目录,由 Swoole 原生处理器直接服务:

路径系统

两个全局函数确保开发环境与 Phar 环境行为一致:

函数 开发环境 Phar 环境 用途
syspath() 项目根目录 phar:// 包内 读取内部文件(配置、模板、前端)
runpath() 项目根目录 二进制同级目录 读写运行时数据(日志、缓存、上传)

开发指南

新模块接入流程

  1. 在对应插件的 stc/migrations 维护开发期基线迁移,并由 plugin.migration_root 显式启用
  2. 新增 Model / Mapper / Service / Controller(分别继承四大基类)
  3. 添加 #[Auth] 权限注解和 #[Logger] 日志注解
  4. 在插件 plugin.json 声明应用、菜单、按钮权限、模块摘要和相对 view
  5. 将前端页面、API service、routes.tsauth-entry.ts 放入插件自己的 plugin.view_root
  6. Provider 仅注册注解扫描、依赖、监听器和运行期命令等装配能力
  7. 在源码/CI 环境执行迁移,并按需执行 xadmin:menu:syncxadmin:node:sync;插件分发可使用 SmartAdminLibrary 提供的 xadmin:plugin:* 源码命令
  8. 若发布二进制,先生成 web/dist,再执行 composer build

源码插件管理命令

xadmin:plugin:* 命令由 SmartAdminLibrary 提供,仅源码/CI 模式出现;发布 Phar/SFX 二进制不会注册这些命令。普通插件包文件名固定为 plugin-插件code-插件版本.zip(如 plugin-demo-1.0.0.zip),ZIP 顶层包含 composer.jsonplugin.jsonsrc/stc/ 等;备份包默认包含插件代码和 _xadmin/plugin-backup.json,只有指定 --with-data 或执行 remove 自动备份时才额外包含数据库结构与数据快照。插件自有表通过 plugin.tablesplugin.table_prefixesplugin.code 下划线前缀识别。

备份默认写入 runtime/plugin/backups,文件名为 插件code-版本号-backup-YYYYMMDD-HHMMSS.zip;恢复仅传文件名时从该目录读取,且 .zip 可省略,传绝对路径或带目录的相对路径时按指定路径读取。带数据备份恢复时默认恢复数据,可用 --no-data 只恢复代码。安装/恢复会维护根 composer.json 的 path repository 与 require,并执行 Composer 更新;若插件包含 plugin.view_root,仍需执行 composer web:build 重新生成前端产物。SmartAdminLibrary 属于基础库、System 属于基础插件,SmartAdminBuilder 属于基础构建包,不允许通过插件管理命令移除或覆盖。

常用命令

文档索引

分类 文档 说明
入口 文档首页 文档统一入口
快速开始 快速开始 环境准备与本地启动
用户教程 用户教程 登录、权限、文件、公告、日志、租户等使用教程
系统功能 系统功能 认证、权限、上传、日志、租户、发布构建说明
接口参考 接口参考 按控制器整理的接口清单
架构设计 系统架构 分层模型与职责边界
架构设计 权限与菜单 权限节点与菜单机制
开发指南 接口规范 RESTful 与统一响应规范
开发指南 编码规范 分层开发与注解约束
部署运维 生产部署 生产环境部署建议
部署运维 发布升级 release 安装包、运行备份、升级恢复和 Phar 构建
部署运维 Docs 静态站 独立文档站部署与检查
文档维护 文档维护 文档维护、检查和更新规则
模块文档 模块文档 模块能力、权限清单和前后端对接要点
运维手册 运维手册 缓存、迁移、日志和异常等细分运维主题

License

SmartAdmin is open source software licensed under the Apache License 2.0. Third-party components keep their own licenses; key attribution details are kept in NOTICE.


All versions of smartadmin with dependencies

PHP Build Version
Package Version
Requires php Version >=8.4
ext-bcmath Version *
ext-bz2 Version *
ext-curl Version *
ext-dom Version *
ext-fileinfo Version *
ext-gd Version *
ext-json Version *
ext-mbstring Version *
ext-opcache Version *
ext-openssl Version *
ext-pcntl Version *
ext-pdo Version *
ext-posix Version *
ext-redis Version *
ext-simplexml Version *
ext-sockets Version *
ext-sodium Version *
ext-tokenizer Version *
ext-xml Version *
ext-xmlreader Version *
ext-xmlwriter Version *
ext-zip Version *
ext-zlib Version *
zoujingli/smart-admin-builder Version ^1.0
zoujingli/smart-admin-library Version ^1.0
zoujingli/smart-plugin-system Version ^1.0
zoujingli/smart-plugin-wechat-client Version ^1.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package zoujingli/smartadmin contains the following files

Loading the files please wait ...