创建第一个应用

创建于 2022-05-26 / 最近更新于 2022-05-26 / 1230
字体: [默认] [大] [更大]

上一章,我们已经讲解了应用插件注册、注销、删除等行为了。下面我们来编写第一个应用吧。

首先用应用插件创建一个名为demo的项目。

php PluginDevelop.php -c demo

完成demo插件创建的工作后,打开程序根目录的Plugin目录,我们找到plugin.ini文件。根据信息完善内容。

[plugin]
version = 0.0.1
name = 我的第一个应用插件
enname= demo 
content = 这是我编写的第一个应用插件
author = PESCMS
website = https://www.pescms.com
;应用插件在什么组别下可运行。同时,控制器也需要依据填写的组别进行创建。
GROUP = Ticket
;应用插件是否有配置信息可填写。0:表示没有 1:表示有配置信息可填写
option = 0
;应用插件的启用状态。默认为 disabled禁用
status = disabled

注册事件

完成插件基础信息填写后,找到Init.php文件,我们定位到enabled方法并注册一个工具栏事件(toolEvent)。应用插件的信息将在PESCMS Ticket系统中的菜单列表的工具栏中显示,因此我们输入如下代码:

/**
     * 启用插件
     * @return mixed|void
     */
    public function enabled() {

        $config = $this->loadConfig($this);
        $config['plugin']['status'] = 'enabled';

	(new \Core\Plugin\Plugin())->updateConfig($this, $config)->register("\\Plugin\\Demo\\Ticket\\Index", [
				'toolEvent' => [
					'index' => 'Ticket-Menu-index', // 转换理解 Index.php的index()方法 => 插件运行的地方
				],
			]);
        $this->success('插件启用成功');
    }

上面代码填写完毕后,我们就完成了事件的注册了。

创建对应的控制器

根据注册事件中,我们需要在程序目录 \Plugin\Demo\ 目录中创建一个Ticket目录,并在Ticket目录下创建一个名为 Index.php的文件。

注册事件中\\Plugin\\Demo\\Ticket\\Index 等同于程序加载 \Plugin\Demo\Ticket\Index.php

控制器创建完毕后,用编辑器打开,并输入如下代码:

<?php
namespace Plugin\Demo\Ticket; //注意此处命名空间。
use \Core\Plugin\PluginController;
 
class Index extends PluginController{
 
    //index 对应的是刚才注册事件中toolEvent里面 'index' => '......' 的'index',
    public function index(){
        echo '我的第一个应用插件!';
    }
    
}

到这里为止,我们完成了第一应用插件的控制器的创建了。若没有出错,他将在Ticket的菜单管理中输出:“我的第一个应用插件” 文字。

测试应用

我们打开登录Ticket的后台,依次在: 后台菜单 —— 系统设置 —— 应用商店 —— 点击[本地应用] 。在进入本地应用后,可以看到我们刚才创建的第一个应用,如下图所示:

图片

点击启用后,依次找到: 后台菜单 —— 系统设置 —— 菜单列表 。可以看到工具栏输出了我们预设的一句话(也可以直接在浏览器输入 http://您的域名/?g=Ticket&m=Menu&a=index)。

图片

我们完成了第一个应用创建了。

排错

若您根据上面程序无法复现输出一句话,可以到程序根目录找到plugin.json文件。对比一下本文件生成的JSON格式与您注册事件调用的文件、事件、方法和范围是否一致。

此处之外,您可以到应用商店下载应用,然后查看他们是怎样的注册事件的(推荐下载 邮件模板)。

4 人点赞过