设计模式 - 如何用PHP实现一个类似插件中心的类?

php中文网
发布: 2016-06-06 20:24:58
原创
1449人浏览过

有个php的config文件,里面用保存了一些类名

怎么写一个类,把这个config文件中的类new出来,同时去调用他们的run方法(这些类还不存在,后期再陆续补充,但是所有类都有一个run方法)?

我想给这些类的run方法传一个值,所有的这些run方法执行完成后,返回给我处理完的一个值,这种怎么弄?

这个需求,有点像插件一样,插件有些规则,有个插件中心的类,专门处理这些插件的调用,传值

回复内容:

有个php的config文件,里面用保存了一些类名

立即学习PHP免费学习笔记(深入)”;

AutoIt3 中文帮助文档打包
AutoIt3 中文帮助文档打包

AutoIt v3 版本, 这是一个使用类似 BASIC 脚本语言的免费软件, 它设计用于 Windows GUI(图形用户界面)中进行自动化操作. 利用模拟键盘按键, 鼠标移动和窗口/控件的组合来实现自动化任务. 而这是其它语言不可能做到或无可靠方法实现的(比如VBScript和SendKeys). AutoIt 非常小巧, 完全运行在所有windows操作系统上.(thesnow注:现在已经不再支持win 9x,微软连XP都能放弃, 何况一个win 9x支持), 并且不需要任何运行库. AutoIt

AutoIt3 中文帮助文档打包 53
查看详情 AutoIt3 中文帮助文档打包

怎么写一个类,把这个config文件中的类new出来,同时去调用他们的run方法(这些类还不存在,后期再陆续补充,但是所有类都有一个run方法)?

我想给这些类的run方法传一个值,所有的这些run方法执行完成后,返回给我处理完的一个值,这种怎么弄?

这个需求,有点像插件一样,插件有些规则,有个插件中心的类,专门处理这些插件的调用,传值

你需要的是interfacespl_autoload_register,先设置一个interface,要求必须实现run方法,然后规定一个类命名规则比如必须Plugin结尾,以及类文件的加载规则比如必须都放置在plugin目录,然后通过spl_autoload_register注册加载逻辑即可

<code>interface IPlugin {
    public function run();
}

class DemoPlugin implements IPlugin {
    public function run(){
        //do sth
        return 'this is demo';
    }
}

spl_autoload_register(function($class){
    if($class是Plugin结尾){
        include 'plugin/' . $class . '.php';
    }
});</code>
登录后复制
相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

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