这里是我的例子:
trait FileConfig {
public static function getPathForUploads() {
$paths = static::getPaths();
//etc.
}
abstract public static function getPaths(); //doesn't work. Error: "Static function SharedDefaultConfig::getPaths() should not be abstract"
abstract public function getPaths(); //OK
public static function getPaths() {} //OK
}
类:
class AppConfig {
use FileConfig;
public static function getPaths() {
return array(...);
}
}
电话:
AppConfig::getPathForUploads();
需要将其静态和抽象化(强制使用FileConfig的类实现getPaths)。
我想知道如何实现更改其静态属性的方法?这是一种好的做法还是有更好的解决方案?它会在某一天变得不合法吗?
谢谢
abstract public function
,但我不明白为什么不直接使用接口和/或抽象类呢? - The Onin