diff --git a/addons/README.md b/addons/README.md new file mode 100644 index 0000000..457acb8 --- /dev/null +++ b/addons/README.md @@ -0,0 +1,274 @@ +# think-addons +The ThinkPHP 6 Addons Package + +## 安装 +> composer require zzstudio/think-addons + +## 配置 + +### 生成配置 + +系统安装后会自动在 config 目录中生成 addons.php 的配置文件, +如果系统未生成可在命令行执行 + +```php +php think addons:config +``` + +快速生成配置文件 + +### 公共配置 +```php +'addons' => [ + // 是否自动读取取插件钩子配置信息(默认是开启) + 'autoload' => true, + // 当关闭自动获取配置时需要手动配置hooks信息 + 'hooks' => [ + // 可以定义多个钩子 + 'testhook'=>'test' // 键为钩子名称,用于在业务中自定义钩子处理,值为实现该钩子的插件, + // 多个插件可以用数组也可以用逗号分割 + ], + 'route' => [], + 'service' => [], +]; +``` +或者在\config目录中新建`addons.php`,内容为: +```php + false, + // 当关闭自动获取配置时需要手动配置hooks信息 + 'hooks' => [ + // 可以定义多个钩子 + 'testhook'=>'test' // 键为钩子名称,用于在业务中自定义钩子处理,值为实现该钩子的插件, + // 多个插件可以用数组也可以用逗号分割 + ], + 'route' => [], + 'service' => [], +]; +``` + +## 创建插件 +> 创建的插件可以在view视图中使用,也可以在php业务中使用 + +安装完成后访问系统时会在项目根目录生成名为`addons`的目录,在该目录中创建需要的插件。 + +下面写一个例子: + +### 创建test插件 +> 在addons目录中创建test目录 + +### 创建钩子实现类 +> 在test目录中创建 Plugin.php 类文件。注意:类文件首字母需大写 + +```php + 'test', // 插件标识 + 'title' => '插件测试', // 插件名称 + 'description' => 'thinkph6插件测试', // 插件简介 + 'status' => 0, // 状态 + 'author' => 'byron sampson', + 'version' => '0.1' + ]; + + /** + * 插件安装方法 + * @return bool + */ + public function install() + { + return true; + } + + /** + * 插件卸载方法 + * @return bool + */ + public function uninstall() + { + return true; + } + + /** + * 实现的testhook钩子方法 + * @return mixed + */ + public function testhook($param) + { + // 调用钩子时候的参数信息 + print_r($param); + // 当前插件的配置信息,配置信息存在当前目录的config.php文件中,见下方 + print_r($this->getConfig()); + // 可以返回模板,模板文件默认读取的为插件目录中的文件。模板名不能为空! + return $this->fetch('info'); + } + +} +``` + +### 创建插件配置文件 +> 在test目录中创建config.php类文件,插件配置文件可以省略。 + +```php + [ + 'title' => '是否显示:', + 'type' => 'radio', + 'options' => [ + '1' => '显示', + '0' => '不显示' + ], + 'value' => '1' + ] +]; +``` + +### 创建钩子模板文件 +> 在test->view目录中创建info.html模板文件,钩子在使用fetch方法时对应的模板文件。 + +```html +
66
+ +12
+ +99
+ +20
+ +5
+ +当前系统 | ++ + | +
当前版本 | ++ + | +
核心框架 | ++ + | +
PHP版本 | ++ + | +
UI框架 | ++ + | +
运行时间 | ++ + | +
TaoLer,采用Thinkphp6.0最新版本为开发框架,代码简洁,运行高效,更新及时。layui是国内比较流行的前端框架,两者完美结合,您会拥有一个非常让人舒适的网站。
+专注专一,大简其道!--本系统的特点,力争做到简洁,不臃肿,功能专一。不管是学习还是商用,都可以良好的运行。
+作者尽最大可能,长期进行项目的维护,做到长期可用。
+ID | +名称 | +图片 | +位置 | +路径 | +颜色 | +开始 | +结束 | +状态 | +操作 | +
---|---|---|---|---|---|---|---|---|---|
{$vo.id} | +{$vo.slid_name} | +{if condition="$vo.slid_img != ''"}{/if} | +{$vo.slid_type} | +{$vo.slid_href} | +{$vo.slid_color} | +{$vo.slid_start|date='Y-m-d'} | +{$vo.slid_over|date='Y-m-d'} | +{$vo.slid_status ?'显示':'禁止'} | ++ 编辑 + {if condition="checkRuleButton('admin/Slider/delete')"} + 删除 + {else /}删除{/if} + | +
本帖已设置禁止回复+ {/if} +
页面或者数据被 纸飞机 运到火星了,啥都看不到了…
+页面或者数据被 纸飞机 运到火星了,啥都看不到了…
+这是一个基于 layui 的极简通用型社区页面模版
+页面或者数据被 纸飞机 运到火星了,啥都看不到了…
+认证信息: 作者
++ {$u.point} 飞吻 + {$u.create_time|date='Y-m-d'} 加入 + {:session('user_id') ? '来自'.$u.city:'登录查看'} +
+({$u.sign ?:'懒得还没有签名'})
+ + ++ {$vo.create_time|date='Y-m-d H-m'} + 在{$vo.title}中回答: +
+您的财富经验值:{$user.point} 金币
您当前为:VIP{$user.vip}
帖子标题 | +状态 | +发表时间 | +数据 | +操作 | +
---|---|---|---|---|
{$vo.title} | +{if $vo.status ==1}正常{else /}待审{/if} | +{$vo.update_time|date='Y-m-d'} | +{$vo.pv}阅/{$vo.comments_count}答 | +编辑 + 删除 + | +
帖子标题 | +作者 | +收藏时间 | +取消收藏 | +
---|---|---|---|
{$vo.article_id|getArticName} | +{$vo.article.user.name} | +{$vo.create_time|date='Y-m-d'} | +取消 + | +
建议尺寸168*168,支持jpg、png、gif,最大不能超过50KB
+ +您的财富经验值:0
您当前为:非 VIP
1、欢迎使用Tao社区系统,她是一款轻量化、快速、便捷、简单的综合社区内容管理系统。
+2、适用于学校、企业、社团组织、社区、政府、本地华商圈等综合型服务类型
+3、本系统在作者能力范围内做到安全可靠,代码严禁,并力争进行长期更新支持、及时修复BUG,减少使用者的使用成本。
+4、尽管程序在发布前已经过安全测试,但仍不能完全保证漏洞的存在和丢失数据的风险,作者不承担商业风险。
+5、本程序版权归开发者所有,在未经过作者同意的情况下,严禁转售、赠送他人。
+6、您可以在完全遵守本许可协议的基础上,免费下载安装使用,商业应用请联系作者授权。
+7、无论您是个人或组织、盈利与否、用途如何(包括以学习和研究为目的),均需仔细阅读本协议,包括免除或者限制开发团队责任的免责条款及对您的权利限制。请您审阅并接受或不接受本服务条款。如您不同意本服务条款及/或随时对其的修改,您应不使用或主动取消产品。否则,您的任何对产品中的相关服务的注册、登陆、下载、查看等使用行为将被视为您对本服务条款全部的完全接受,包括接受对服务条款随时所做的任何修改。
+8、本协议一旦发生变更, Tao社区开发团队将在网页上公布修改内容。修改后的服务条款一旦在网站管理后台上公布即有效代替原来的服务条款。如果您选择接受本条款,即表示您同意接受协议各项条件的约束。如果您不同意本服务条款,则不能获得使用本服务的权利。您若有违反本条款规定,TaoLer有权随时中止或终止您对本程序的使用资格并保留追究相关法律责任的权利。
+9、在理解、同意、并遵守本协议的全部条款后,方可开始使用本程序。本许可协议条款的解释,效力及纠纷的解决,适用于中华人民共和国大陆法律。
+10、您使用本系统,需要遵循许可协议,一旦安装表示您已接受该系统各项条款。
+坏境 | +最低配置 | +当前配置 | +是否符合 | +
---|---|---|---|
操作系统 | +不限 | ++ + | +√ | +
php版本 | +>7.1 | ++ + | + ++ =7) || ($php_version['0']>=5 && $php_version['1']>=3)): ?> √ + × + + | +
坏境 | +最低配置 | +当前配置 | +是否符合 | +
---|---|---|---|
./runtime | +可写 | ++ 可写 + 不可写 + + | ++ √ + × + + | +
./install | +可写 | ++ 可写 + 不可写 + + | ++ √ + × + + | +
./app | +可写 | ++ 可写 + 不可写 + + | ++ √ + × + + | +