PHP,创建函数还是在运行时对其求值?

PHP,创建函数还是在运行时对其求值?,php,class,if-statement,create-function,Php,Class,If Statement,Create Function,我有一个类,它有一些依赖于一个参数的方法。 写这个方法的最好方法是什么 例如: 第一条路 第二条路 你会选择哪种方式?两者都不是(除非你更清楚地解释你想要什么)。 通常,专用对象被认为比基于属性的分支更好 class Test { abstract function useIt(); } class TestA extends Test { function useIt() { code for A } } class TestB extends Test { fun

我有一个类,它有一些依赖于一个参数的方法。 写这个方法的最好方法是什么

例如:

第一条路 第二条路 你会选择哪种方式?

两者都不是(除非你更清楚地解释你想要什么)。 通常,专用对象被认为比基于属性的分支更好

class Test {
    abstract function useIt();
}

class TestA extends Test {
    function useIt() { code for A }
}

class TestB extends Test {
    function useIt() { code for B }
}
两者都不是(除非你更清楚地解释你在追求什么)。 通常,专用对象被认为比基于属性的分支更好

class Test {
    abstract function useIt();
}

class TestA extends Test {
    function useIt() { code for A }
}

class TestB extends Test {
    function useIt() { code for B }
}

首先,我会选择第二种方式:是一个重函数(最好用在其他方式中),而且代码严格来说不是以面向对象的方式,而第二种方式是。

首先,我会选择第二种方式:是一个重函数(最好用在其他方式中)这段代码严格来说不是面向对象的,而第二种方式是面向对象的。

谢谢你的回答

我考虑过这个问题,因为我正在构建一个数据库交互类。 如果你能做到这一点,那就太好了:

$db=new DB(/* host, user etc*/, "mysql");
or
$db=new DB(/* host, user etc*/, "mysqli");
但是,是的,最好的方法是继承和面向对象,我可以这样做:

$db=new MysqlDB(/* host, user etc*/);
or
$db=new MysqliDB(/* host, user etc*/);
再次感谢。

谢谢您的回答

我考虑过这个问题,因为我正在构建一个数据库交互类。 如果你能做到这一点,那就太好了:

$db=new DB(/* host, user etc*/, "mysql");
or
$db=new DB(/* host, user etc*/, "mysqli");
但是,是的,最好的方法是继承和面向对象,我可以这样做:

$db=new MysqlDB(/* host, user etc*/);
or
$db=new MysqliDB(/* host, user etc*/);
再次感谢