假设我初始化了一个类,但我的脚本中有条件语句,这可能意味着类方法实际上永远不会被使用。
例子:

$rr = new RecipientRepo($db);

if ($_GET['action'] == 'test1') {
    $rr->showForm1();
}
else if ($_GET['action'] == 'test2') {
    $rr->showForm2();
}

如果不满足该条件,则永远不会调用类的方法。
这是不好的做法吗?比起在每个条件下初始化类,我更希望这样。
如有任何答复,将不胜感激。

最佳答案

只有在$_GET中设置了密钥时,才初始化类。你可以这么做-

if (!empty($_GET['action'])) {

    $rr = new RecipientRepo($db);

    if ($_GET['action'] == 'test1') {
        $rr->showForm1();
    }
    else if ($_GET['action'] == 'test2') {
        $rr->showForm2();
    }

}

如果你想让它更具体的话-
if (!empty($_GET['action']) && in_array($_GET['action'], array('test1', 'test2'))) {

关于php - 初始化可能无法使用的类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30451430/

10-08 22:54