返回介绍

_deprecated_constructor()

发布于 2017-09-11 13:20:21 字数 4473 浏览 878 评论 0 收藏 0

Alert: This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.

_deprecated_constructor( string $class,  string $version,  string $parent_class = '' )

Marks a constructor as deprecated and informs when it has been used.


description

Similar to _deprecated_function(), but with different strings. Used to remove PHP4 style constructors.

The current behavior is to trigger a user error if WP_DEBUG is true.

This function is to be used in every PHP4 style constructor method that is deprecated.


参数

$class

(string) (Required) The class containing the deprecated constructor.

$version

(string) (Required) The version of WordPress that deprecated the function.

$parent_class

(string) (Optional) The parent class calling the deprecated constructor.

Default value: ''


源代码

File: wp-includes/functions.php

function _deprecated_constructor( $class, $version, $parent_class = '' ) {

	/**
	 * Fires when a deprecated constructor is called.
	 *
	 * @since 4.3.0
	 * @since 4.5.0 Added the `$parent_class` parameter.
	 *
	 * @param string $class        The class containing the deprecated constructor.
	 * @param string $version      The version of WordPress that deprecated the function.
	 * @param string $parent_class The parent class calling the deprecated constructor.
	 */
	do_action( 'deprecated_constructor_run', $class, $version, $parent_class );

	/**
	 * Filters whether to trigger an error for deprecated functions.
	 *
	 * `WP_DEBUG` must be true in addition to the filter evaluating to true.
	 *
	 * @since 4.3.0
	 *
	 * @param bool $trigger Whether to trigger the error for deprecated functions. Default true.
	 */
	if ( WP_DEBUG && apply_filters( 'deprecated_constructor_trigger_error', true ) ) {
		if ( function_exists( '__' ) ) {
			if ( ! empty( $parent_class ) ) {
				/* translators: 1: PHP class name, 2: PHP parent class name, 3: version number, 4: __construct() method */
				trigger_error( sprintf( __( 'The called constructor method for %1$s in %2$s is <strong>deprecated</strong> since version %3$s! Use %4$s instead.' ),
					$class, $parent_class, $version, '<pre>__construct()</pre>' ) );
			} else {
				/* translators: 1: PHP class name, 2: version number, 3: __construct() method */
				trigger_error( sprintf( __( 'The called constructor method for %1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead.' ),
					$class, $version, '<pre>__construct()</pre>' ) );
			}
		} else {
			if ( ! empty( $parent_class ) ) {
				trigger_error( sprintf( 'The called constructor method for %1$s in %2$s is <strong>deprecated</strong> since version %3$s! Use %4$s instead.',
					$class, $parent_class, $version, '<pre>__construct()</pre>' ) );
			} else {
				trigger_error( sprintf( 'The called constructor method for %1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead.',
					$class, $version, '<pre>__construct()</pre>' ) );
			}
		}
	}

}

更新日志

Versiondescription
4.5.0Added the $parent_class parameter.
4.3.0Introduced.

相关函数

Uses

  • wp-includes/functions.php: deprecated_constructor_run
  • wp-includes/functions.php: deprecated_constructor_trigger_error
  • wp-includes/l10n.php: __()
  • wp-includes/plugin.php: do_action()
  • wp-includes/plugin.php: apply_filters()

Used By

  • wp-includes/class-wp-widget-factory.php: WP_Widget_Factory::WP_Widget_Factory()
  • wp-includes/class-wp-widget.php: WP_Widget::WP_Widget()

User Contributed Notes

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文