A quote from Mishko Hevery in Statics is death for testing :
. , - , , . , / /, -, . . , , , .
:
, , , , . .
TL; DR: , .
:
, , , . -
public static function setQueryClass($className) {
static::queryClass = $queryClass;
}
StaticSQLQuery $className. , StaticSQLQuery , . PHP7 :
BaseClass::setQueryClass(
get_class(new class extends StaticSQLQuery {
public static function init()
{
return 'My stub';
}
})
);
PHP7 :
class StaticSQLQueryMock extends StaticSQLQuery
{
public static function init()
{
return 'My stub';
}
}
BaseClass::setQueryClass(StaticSQLQueryMock::class);