Deprecation
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
protected static deprecated | string | $version | ||
protected static deprecated | bool|null | $enabled | Override whether deprecation is enabled. If null, then fallback to SS_DEPRECATION_ENABLED, and then true if not defined. |
|
protected static deprecated | array | $module_version_overrides | ||
public static deprecated | array | $notice_level |
Methods
Enable throwing deprecation warnings. By default, this excludes warnings for deprecated code which is called by core Silverstripe modules.
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
Given a backtrace, get the method name from the immediate parent caller (the caller of #notice)
If true, any E_USER_DEPRECATED errors should be treated as coming directly from this class.
Determine whether deprecation warnings should be included in HTTP responses.
Determine whether deprecation warnings should be included in CLI responses.
If true, deprecation warnings should be included in HTTP responses.
If true, deprecation warnings should be included in CLI responses.
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
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.
static void
disable()
Disable throwing deprecation warnings.
This will be overriden by the SS_DEPRECATION_ENABLED environment variable if present.
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
deprecated
This method is no longer used
static protected Module
get_calling_module_from_trace(array $backtrace)
deprecated
deprecated
This method is no longer used
static protected string
get_called_method_from_trace($backtrace, $level = 1)
Given a backtrace, get the method name from the immediate parent caller (the caller of #notice)
static bool
get_enabled()
deprecated
deprecated
This method is no longer used
static bool
isEnabled()
No description
static
set_enabled(bool $enabled)
deprecated
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.
Does not affect logging.
This will be overriden by the SS_DEPRECATION_SHOW_HTTP environment variable if present.
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.
static bool
shouldShowForHttp()
If true, deprecation warnings should be included in HTTP responses.
Does not affect logging.
static bool
shouldShowForCli()
If true, deprecation warnings should be included in CLI responses.
Does not affect logging.
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
deprecated
This method is no longer used
static
restore_settings($settings)
deprecated
deprecated
This method is no longer used