1. 目录结构

FastAdmin目录结构遵循ThinkPHP5官方建议的模块设计:

FastAdmin项目目录
├── addons                  //插件存放目录
├── application             //应用目录
│   ├── admin               //后台管理应用模块
│   ├── api                 //API应用模块
│   ├── common              //通用应用模块
│   ├── extra               //扩展配置目录
│   ├── index               //前台应用模块
│   ├── build.php
│   ├── command.php         //命令行配置
│   ├── common.php          //通用辅助函数
│   ├── config.php          //基础配置
│   ├── database.php        //数据库配置
│   ├── route.php           //路由配置
│   ├── tags.php            //行为配置
├── extend
│   └── fast                //FastAdmin扩展辅助类目录
├── public                  //框架入口目录
│   ├── assets
│   │   ├── build           //打包JS、CSS的资源目录
│   │   ├── css             //CSS样式目录
│   │   ├── fonts           //字体目录
│   │   ├── img             //图片资源目录
│   │   ├── js
│   │   │   ├── backend
│   │   │   └── frontend    //后台功能模块JS文件存放目录
│   │   ├── libs            //Bower资源包位置
│   │   └── less            //Less资源目录
│   └── uploads             //上传文件目录
│   ├── index.php           //应用入口主文件
│   ├── install.php         //FastAdmin安装引导
│   ├── admin.php           //后台入口文件(自动安装后会被修改为随机文件名)
│   ├── robots.txt
│   └── router.php
├── runtime                 //缓存目录
├── thinkphp                //ThinkPHP5框架核心目录
├── vendor                  //Compposer资源包位置
├── .bowerrc                //Bower目录配置文件
├── .env.sample             //环境配置模板(可复制一份为 .env 生效)
├── LICENSE
├── README.md               //项目介绍
├── bower.json              //Bower前端包配置
├── build.php
├── composer.json           //Composer包配置
└── think                   //命令行控制台入口(使用 php think 命令进入)
  •   

    2. 应用模块

在FastAdmin中默认有四个应用模块:adminapicommonindex,你也可以扩展开发自己的应用模块。

后台模块(admin)是FastAdmin中的核心模块,后台模块又分为系统配置附件管理插件管理等多个功能模块,更多的功能模块可以在插件管理中自由的安装和卸载。

后台的前端是基于AdminLTEBootstrap进行了大量二次开发,采用RequireJS进行JS模块化管理和加载。

前台模块(index)的结构和后台功能类似,具体请参考后台模块的章节。

公共模块(common)是一个特殊的模块,默认是禁止直接访问的,一般用于放置一些公共的类或其它模块的继承基类等。

Api模块(api)通常用于对接APP,用于向APP提供接口,目前FastAdmin暂未提供API相关的插件和文档,你可以直接参考ThinkPHP5官方的文档。

 

3.一个功能模块

功能模块指后台管理中的功能模块,比如我们的系统配置附件管理分类管理(分类管理在新版中默认隐藏,可自行在权限管理中打开)。

后台开发的每一个功能模块都是基于MVC的设计模式进行开发 。在FastAdmin中,我们提供了一键生成CRUD的功能,这个一键生成CRUD生成的文件也就是我们标准的MVC文件。

以下是一个标准的功能模块所涉及到的文件

├── application
│   └── admin
│       ├── controller
│       │   └── Test.php        //控制器类
│       ├── lang
│       │   ├── zh-cn
│       │   │   └── test.php    //功能语言包,按需加载
│       │   └── zh-cn.php       //后台语言包,默认加载
│       ├── model
│       │   └── Test.php        //模型类
│       ├── validate
│       │   └── Test.php        //验证器类
│       └── view
│           └── test
│               ├── index.html   //列表视图
│               ├── add.html     //添加视图
│               └── edit.html    //编辑视图
└── public
    └── assets
        └── js
            └── backend
                └── test.js      //功能模块JS文件

  在FastAdmin中每一个功能模块至少对应一个功能模块JS文件,也就是说每一个控制器都对应一个同名的JS文件,其次每一个控制器的方法对应JS文件中同名的方法。

具体控制器详细介绍可参考控制器章节,JS的部分可以参考前端章节。

4.表格自定义搜索

例如:test的表格

修改控制器test.php内的代码:

├── application
│   └── admin
│       ├── controller
│       │   └── Test.php        //控制器类

    找到Test.php的文件并打开,如下:

<?php

namespace appadmincontroller;

use appcommoncontrollerBackend;

/**
 * IP地址管理
 *
 * @icon fa fa-circle-o
 */
class Test extends Backend
{

    /**
     * Ipaddress模型对象
     * @var appadminmodelIpaddress
     * 
     */
    protected $searchFields = "vlanid,ipadd,location,category";
    protected $model = null;

    public function _initialize()
    {
        parent::_initialize();
        $this->model = new appadminmodelTest;
        $this->view->assign("statusList", $this->model->getStatusList());
    }



    /**
     * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
     * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
     * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
     */


}

   如上代码中protected$searchFields ="",添加这个方法,引号内填写你要自定义搜索的字段名称,即可实现自定义搜索,多个字段用逗号隔开。


内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/tianming18/p/16256873.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!

相关课程