我想知道是否有一种方法可以键入hint-two-type。在网上搜索后,我找不到任何东西。
示例
class Product {
public function __contruct(PDO||dbCon $dbCon) {
// Do What Ever
}
}
所以我想知道是否有类似的东西|
谢谢!
不,这目前在PHP中是不可能的。
不是直接的,但如果类由您来控制,则可以实现一个接口来覆盖这两个类。
interface databaseConnection {...}
class PDO implements databaseConnection {...}
class dbCon implements databaseConnection {...}
class Product {
public function __construct( databaseConnection $dbCon) {
// Do What Ever
}
}
如果这些类不是您的,您可以实现适配器模式,使它们实现接口。
interface databaseConnectionAdaptor {...}
class PdoDatabaseConnectionAdaptor implements databaseConnectionAdaptor {
public function __construct( PDO $pdo ) {...}
...
}
class DbConnDatabaseConnectionAdaptor implements databaseConnectionAdaptor {
public function __construct( dbConn $dbCon ) {...}
...
}
class Product {
public function __construct( databaseConnectionAdaptor $dbCon) {
// Do What Ever
}
}
您可能会发现这将大大简化产品类。
请参阅此处的适配器模式:http://en.wikipedia.org/wiki/Adapter_pattern