企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 插件列表 > 由于咱们的插件并未存入数据库,所以在所获插件时,要通过遍历插件目录来获取。 效果: ![](https://box.kancloud.cn/e529225f48b0b5efcbbf8a9904e88530_1616x543.png) ## 在获取插件列表时的注意事项(知识点) > 在`5ini99/think-addons`扩展包中,并未提供获取插件目录的方法或函数。所以需要种们自己处理。 1. 遍历插件目录(可以使用 php内置函数`scandir`) 2. 获取有效插件(所谓有效插件即符合开发者制定的一套开发规范) 3. 将获取插件列表封装成方法或函数,放到公共文件中。在这里咱们直接将其封装到插件库的函数库中,以便后期的使用。 具体实现代码如下: > 封装到插件库的函数文件`common.php`中 ~~~ /** * 获取插件列表 */ function get_addon_list(){ $addons=scandir(ADDON_PATH); $arr=[]; foreach ($addons as $v){ if($v=="." || $v==".."){ continue; } if(is_file(ADDON_PATH.DS.$v)){ continue; } if(is_dir(ADDON_PATH.DS.$v)){ //判断插件是否为有效插件 //1. 判断是否存在插件类 if(!is_file(ADDON_PATH.DS.$v.DS.ucfirst($v).'.php')){ continue; } $class=get_addon_class($v); $info=(new $class)->info; //判断插件的基本信息是否有效 if(!(new $class)->checkInfo()){ continue; } $arr[]=$info; } } return $arr; } ~~~