一、开发流程
1.生成插件
A、命令行方式:(php think addon -a myaddon -c create)
B、使用“插件开发”插件来生成,经过实践发现这种方式比命令行方式生成的更全面。
C、手动写代码:如果不嫌麻烦就采用这个,但虽然麻烦你会知道涉及到了哪些代码与文件夹,最好是采用前两种方式生成之后看一下有哪些代码变动了。
2.配置插件:
A、手动配置
插件启动配置:application/extra/addons.php
插件基础配置:插件文件info.ini
插件扩展配置:插件文件夹中的config.php
B、通过“插件开发”插件来配置
3.创建数据库
4.可手动创建,也可在后台一键CURL (在创建CRUL之前创建数据表。插件后端在application编辑、调试,之后移到插件对应文件夹。插件前端在插件的controller、model、view编辑、调试)。
php think crud -t test
这里“-t”参数指定你要生成的数据表(可以不用写前缀名)
常用参数
-c, --controller[=CONTROLLER] 生成的控制器名,可选,默认根据表名进行自动解析
-m, --model[=MODEL] 生成的模型名,可选,默认根据表名进行自动解析
-i, --fields[=FIELDS] 生成的数据列表中可见的字段,默认是全部
-d, --delete[=DELETE] 删除模式,将删除之前使用CRUD命令生成的相关文件
演示
A,自定义控制器名:webqi/classify表示curd生成的文件到webqi的目录下,但是测试只有控制器、视图文件到了对应的文件夹,其它的都没有成功。
B,自定义模型名:classify 表示设置模型的名称为classify
C,生成之后在这些文件夹下有文件:
application/admin/controller/webqi/ (测试成功)
application/admin/model/webqi/ (没到二级文件夹)
application/admin/view/webqi/ (测试成功)
application/admin/validate/webqi/(没到二级文件夹)
public/assets/js/backend/webqi/ (测试成功)
都只是生成后台管理的文件,其它地方没有生成文件。
需要手动修改命名空间的设置及文件位置,就算修改“自定义控制器名”为"/webqi/classify"等方式也没有成功,不知道是不是因为php版本的原因。手动修改命名空间之后就成功了。命令行删除模式也没有成功,需要手动删除。
D,如果数据库带下划线,如user_exams,则可以如下方式生成curd
5.创建菜单
A、命令行创建
php think menu -c test
这里“-c”参数指定控制器
B、通过“插件开发”插件来配置:通过该插件添加的数据保存在fa_auth_rule表中
C、手写创建,可以了解到原理。
6.编写代码
二、创建行为(不是必须)
1、在addon目录中创建addon.php类文件创建行为方法
2、在addon目录中创建行为模板文件
3、在php类中及view添加钩子来使用行为
A、php业务:hook('testhook', ['id'=>1])
B、模板:<div>{:hook('testhook', ['id'=>1])}</div>
三、打包流程
1.在插件的根目录的以文件夹名称的php文件中新建install方法,用于生成后台管理菜单:
$menu = [ [ 'name' => 'chajian', 'title' => '自写测试', //菜单名称 'icon' => 'fa fa-tasks', 'remark' => '自写测试', 'sublist' => [ ['name' => 'chajian/index', 'title' => '查看'], ['name' => 'chajian/add', 'title' => '添加'], ['name' => 'chajian/edit', 'title' => '编辑 '], ['name' => 'chajian/del', 'title' => '删除'], ['name' => 'chajian/multi', 'title' => '批量更新'], ] ] ]; Menu::create($menu); return true;
2.配置插件文件夹下的insta.sql将之前新建插件数据库的语句粘贴进去(将数据库前缀替换为:__PREFIX__)
3.将生成的在根目录的文件夹(application、public、/public/assets/addons/插件/)复制到插件文件夹(application、public、assets)。
4.php think addon -a example -c package 压缩插件包 在根目录的runtime->addons文件夹
5.打包完成
四、参考资料
https://doc.fastadmin.net/doc/ 官方文档
https://doc.fastadmin.net/developer 开发文档
https://ask.fastadmin.net/article/323.html 一张图解析FastAdmin中的表格列表的功能
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, Fastadmin, ClassCMS, LeCMS, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。