php插件/包含问题
我正在尝试为我的一个应用程序制作一个插件系统,但我遇到了一点麻烦 我试图弄清楚如何使用插件类向switch语句动态添加额外的开关块 这是一个基本的例子,我正在尝试做什么,有人知道我如何才能做到这一点吗php插件/包含问题,php,Php,我正在尝试为我的一个应用程序制作一个插件系统,但我遇到了一点麻烦 我试图弄清楚如何使用插件类向switch语句动态添加额外的开关块 这是一个基本的例子,我正在尝试做什么,有人知道我如何才能做到这一点吗 switch($_GET['section']){ default: // code here break; case 'test': // code here break; $plugins->run('page'
switch($_GET['section']){
default:
// code here
break;
case 'test':
// code here
break;
$plugins->run('page');
}
class plugins {
function run($section){
if($section=='page'){
case 'test2':
// code here
break;
}
}
}
plugins类中的case语句是我希望返回到原始switch语句的语句。因此,在plugin类中,我可以添加其他案例,这些案例可以包含在原始switch语句中
因此,我想基本上只是想知道是否有可能在switch语句中动态添加其他情况。这是错误的语法:
if($section=='page'){ // WRONG!
case 'test2':
// code here
break;
}
您可以这样做:
switch ($section) {
case 'page':
switch ($whatever) {
case 'test':
// do something
break;
}
break;
default:
// do default stuff
break;
}
最好使用
开关
,而不是if-else
我认为,通过使用类和继承,您可以更好地实现您想要做的事情
你不能那样做。你应该重新思考你的问题。为什么不将完整的switch语句打包到插件类中并动态运行它呢?我真的被这搞糊涂了。你说的“插件”是什么意思?为什么
案例'test2':
本身,除了选择之外?@不管是谁否决了这一点,这都不是一个坏问题。这是一个关于一个坏主意的相关而明确的问题:)我已经用更多的信息更新了这个问题,希望它现在更清晰。