php - 如何在同一个插件中添加多个action?
怪我咯
怪我咯 2017-04-10 14:43:27
[PHP讨论组]

比如我有个插件,叫做Test

class Test_Plugin implements Typecho_Plugin_Interface {
    public static function activate() {
        Helper::addAction('Test', 'Test_Action');   //Action.php
        Helper::addAction('Custom', 'Custom_Action'); //Custom.php
    }
    ...
    ..
    .
}

我想添加两个Action,分别是Test和Custom。。
这样写,访问action/Test是正常的,但是访问action/Custom却报错,说找不到。

请问能不能在一个插件中添加两个Action?如果可以,要怎么写代码?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(2)
PHP中文网

widget/do.php代码

if (isset($widgetName) && class_exists($widgetName)) {
    $reflectionWidget =  new ReflectionClass($widgetName);
    if ($reflectionWidget->implementsInterface('Widget_Interface_Do')) {
        $this->widget($widgetName)->action();
        return;
    }
}

确实不可以,Custom_Action的文件include路径是Custom/Action.php,并且类名为Custom_Action

ringa_lee

一个action就能够处理所有事情吧,如果需要增加action的话根据action的访问原理,你只能新增加一个plugins来定义它

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号