前言
FastAdmin 是一款基于 ThinkPHP 5.x 和 Bootstrap 的极速后台开发框架,凭借其强大的代码生成器和零配置上手的特点,在国内开发者群体中广受欢迎。本文将从安装配置开始,系统讲解 FastAdmin 的目录结构与核心概念。
一、环境要求
- PHP >= 7.1(推荐 7.4+)
- MySQL >= 5.6(推荐 5.7+)
- Nginx / Apache / IIS
- Composer
二、安装步骤
2.1 通过 Git 安装
# 克隆项目
git clone https://gitee.com/karson/fastadmin.git
# 进入目录
cd fastadmin
# 安装依赖
composer install2.2 通过完整包安装
从 FastAdmin 官网下载完整包,解压到 Web 目录即可。
2.3 配置数据库
编辑 application/database.php:
return [
'type' => 'mysql',
'hostname' => '127.0.0.1',
'database' => 'fastadmin',
'username' => 'root',
'password' => 'your_password',
'hostport' => '3306',
'prefix' => 'fa_',
'charset' => 'utf8mb4',
];2.4 导入初始数据库
mysql -u root -p fastadmin < fastadmin.sql2.5 配置伪静态(Nginx)
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php/$1 last;
break;
}
}2.6 访问安装
浏览器访问 http://yourdomain.com/install.php,按提示完成安装后删除该文件。
三、目录结构详解
fastadmin/
├── application/ # 应用目录
│ ├── admin/ # 后台模块
│ │ ├── controller/ # 后台控制器
│ │ ├── model/ # 后台模型
│ │ ├── view/ # 后台视图
│ │ └── validate/ # 验证器
│ ├── api/ # API 模块
│ │ ├── controller/
│ │ └── model/
│ ├── common/ # 公共模块
│ │ ├── model/ # 公共模型
│ │ └── library/ # 扩展类库
│ ├── index/ # 前台模块
│ ├── extra/ # 扩展配置
│ ├── command.php # 命令行配置
│ ├── database.php # 数据库配置
│ └── config.php # 全局配置
├── public/ # Web 根目录
│ ├── assets/ # 静态资源
│ │ ├── js/backend/ # 后台 JS
│ │ ├── css/ # 样式文件
│ │ └── libs/ # 前端库
│ ├── index.php # 入口文件
│ └── install.php # 安装文件(用后删除)
├── addons/ # 插件目录
├── extend/ # 扩展类库
├── runtime/ # 运行时缓存
├── vendor/ # Composer 依赖
└── think # 命令行入口核心目录说明
| 目录 | 作用 |
|---|---|
application/admin | 后台管理模块,所有后台控制器、模型、视图都在这里 |
application/api | API 接口模块,用于前后端分离开发 |
application/common/library | 框架核心类库,包含 Auth 权限认证、Token 等 |
public/assets/js/backend | 后台各模块对应的 JS 文件,采用 RequireJS 模块化加载 |
addons | 在线安装的插件存放目录 |
四、核心概念
4.1 模块化设计
FastAdmin 采用多模块设计,默认包含 admin、api、index 三个模块:
// application/admin/controller/Example.php
namespace app\admin\controller;
use app\common\controller\Backend;
class Example extends Backend
{
// 自动继承后台基础控制器
// 拥有权限认证、菜单管理、CRUD 等能力
}4.2 权限认证(Auth)
FastAdmin 内置基于 RBAC 的权限认证体系:
// 检查当前用户是否有某权限
if (!$this->auth->check('example/index')) {
$this->error('您没有权限');
}
// 获取当前登录用户
$admin = $this->auth->getUser();4.3 一键 CRUD
FastAdmin 最强大的功能是代码生成器,通过命令行一键生成控制器、模型、视图、JS:
# 生成一个完整的 CRUD
php think crud -t fa_user -c my/user
# 参数说明
# -t 指定数据表
# -c 指定控制器路径(模块/控制器)生成的文件包括:
application/admin/controller/my/User.php # 控制器
application/admin/model/User.php # 模型
application/admin/validate/User.php # 验证器
application/admin/view/my/user/index.html # 列表视图
application/admin/view/my/user/add.html # 添加视图
application/admin/view/my/user/edit.html # 编辑视图
public/assets/js/backend/my/user.js # 前端 JS五、配置优化建议
5.1 修改默认密码
安装后立即修改默认管理员密码(默认 admin/123456):
# 后台 → 个人信息 → 修改密码5.2 关闭调试模式
生产环境关闭调试:
// application/config.php
'app_debug' => false,
'app_trace' => false,5.3 设置域名根目录
Nginx 配置 root 指向 public 目录:
server {
listen 80;
server_name admin.example.com;
root /var/www/fastadmin/public;
index index.php;
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php/$1 last;
}
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}六、常见问题
Q: 安装后访问首页 404?
检查伪静态配置,确保 Nginx/Apache 的 rewrite 规则正确。
Q: 后台菜单不显示?
执行 php think menu -c controller_name 生成菜单。
Q: 在线安装插件失败?
检查 addons 目录权限,确保 Web 进程可写:
chmod -R 755 addons/总结
FastAdmin 通过模块化设计 + 代码生成器大幅提升了后台开发效率。掌握目录结构和核心概念后,配合 CRUD 命令,可以在几分钟内搭建出一个功能完整的后台管理系统。后续文章将深入讲解 CRUD 生成器、权限体系和插件开发。
评论 (0)