class Deprecation (View source)

Handles raising an notice when accessing a deprecated method, class, configuration, or behaviour.

Sometimes we want to mark that a method will be deprecated in some future version and shouldn't be used in new code, but not forbid in the current version - for instance when that method is still heavily used in framework or cms.

See https://docs.silverstripe.org/en/contributing/release_process/#deprecation

Constants

SCOPE_METHOD

SCOPE_CLASS

SCOPE_GLOBAL

SCOPE_CONFIG

Properties

static array $notice_level

Methods

static void
enable(bool $showNoReplacementNotices = false)

Enable throwing deprecation warnings. By default, this excludes warnings for deprecated code which is called by core Silverstripe modules.

static void
disable()

Disable throwing deprecation warnings.

static mixed
withNoReplacement(callable $func)

Used to wrap deprecated methods and deprecated config get()/set() that will be removed in the next major version with no replacement. This is done to surpress deprecation notices by for calls from the vendor dir to deprecated code that projects have no ability to change

static void
notification_version($ver, null $forModule = null) deprecated

This method is no longer used

static bool
get_enabled() deprecated

This method is no longer used

static bool
isEnabled()

No description

static 
set_enabled(bool $enabled) deprecated

This method is no longer used

static bool
isTriggeringError()

If true, any E_USER_DEPRECATED errors should be treated as coming directly from this class.

static void
setShouldShowForHttp(bool $value)

Determine whether deprecation warnings should be included in HTTP responses.

static void
setShouldShowForCli(bool $value)

Determine whether deprecation warnings should be included in CLI responses.

static bool
shouldShowForHttp()

If true, deprecation warnings should be included in HTTP responses.

static bool
shouldShowForCli()

If true, deprecation warnings should be included in CLI responses.

static void
outputNotices()

No description

static 
notice(string $atVersion, string $string = '', int $scope = Deprecation::SCOPE_METHOD)

Raise a notice indicating the method is deprecated if the version passed as the second argument is greater than or equal to the check version set via ::notification_version

static array
dump_settings() deprecated

This method is no longer used

static 
restore_settings($settings) deprecated

This method is no longer used

Details

static void enable(bool $showNoReplacementNotices = false)

Enable throwing deprecation warnings. By default, this excludes warnings for deprecated code which is called by core Silverstripe modules.

This will be overriden by the SS_DEPRECATION_ENABLED environment variable if present.

Parameters

bool $showNoReplacementNotices

If true, deprecation warnings will also be thrown for deprecated code which is called by core Silverstripe modules.

Return Value

void

static void disable()

Disable throwing deprecation warnings.

This will be overriden by the SS_DEPRECATION_ENABLED environment variable if present.

Return Value

void

static mixed withNoReplacement(callable $func)

Used to wrap deprecated methods and deprecated config get()/set() that will be removed in the next major version with no replacement. This is done to surpress deprecation notices by for calls from the vendor dir to deprecated code that projects have no ability to change

Parameters

callable $func

Return Value

mixed

static void notification_version($ver, null $forModule = null) deprecated

deprecated 4.12.0 Use enable() instead

This method is no longer used

Parameters

$ver

string - A php standard version string, see http://php.net/manual/en/function.version-compare.php for details.

null $forModule

string - The name of a module. The passed version will be used as the check value for calls directly from this module rather than the global value

Return Value

void

static bool get_enabled() deprecated

deprecated 4.12.0 Will be removed without equivalent functionality to replace it

This method is no longer used

Return Value

bool

static bool isEnabled()

Return Value

bool

static set_enabled(bool $enabled) deprecated

deprecated 4.12.0 Use enable() instead

This method is no longer used

Parameters

bool $enabled

static bool isTriggeringError()

If true, any E_USER_DEPRECATED errors should be treated as coming directly from this class.

Return Value

bool

static void setShouldShowForHttp(bool $value)

Determine whether deprecation warnings should be included in HTTP responses.

Does not affect logging.

This will be overriden by the SS_DEPRECATION_SHOW_HTTP environment variable if present.

Parameters

bool $value

Return Value

void

static void setShouldShowForCli(bool $value)

Determine whether deprecation warnings should be included in CLI responses.

Does not affect logging.

This will be overriden by the SS_DEPRECATION_SHOW_CLI environment variable if present.

Parameters

bool $value

Return Value

void

static bool shouldShowForHttp()

If true, deprecation warnings should be included in HTTP responses.

Does not affect logging.

Return Value

bool

static bool shouldShowForCli()

If true, deprecation warnings should be included in CLI responses.

Does not affect logging.

Return Value

bool

static void outputNotices()

Return Value

void

static notice(string $atVersion, string $string = '', int $scope = Deprecation::SCOPE_METHOD)

Raise a notice indicating the method is deprecated if the version passed as the second argument is greater than or equal to the check version set via ::notification_version

Parameters

string $atVersion

The version at which this notice should start being raised

string $string

The notice to raise

int $scope

Notice relates to the method or class context its called in.

static array dump_settings() deprecated

deprecated 4.12.0 Will be removed without equivalent functionality to replace it

This method is no longer used

Return Value

array

Opaque array that should only be used to pass to {see \SilverStripe\Dev\Deprecation::restore_settings()}

static restore_settings($settings) deprecated

deprecated 4.12.0 Will be removed without equivalent functionality to replace it

This method is no longer used

Parameters

$settings

array An array as returned by {see \SilverStripe\Dev\Deprecation::dump_settings()}