我正在尝试为我的一个应用程序制作一个插件系统,但我遇到了一些麻烦。
我正在尝试弄清楚如何使用插件类将额外的switch块动态地添加到switch语句中。
这是我正在尝试做的一个基本示例,有人知道我如何实现这一点吗?
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语句添加额外的情况。
发布于 2011-02-25 19:10:51
我认为通过使用类和继承,您可以更好地实现您想要做的事情。
发布于 2011-02-25 19:02:32
这是错误的语法:
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;
}使用switch而不是if else总是一个好主意!
https://stackoverflow.com/questions/5116336
复制相似问题