定制器-前缀类扩展

时间:2017-02-21 作者:Friedrich Siever

对于通过扩展“WP\\u Customize\\u Control”类来创建自定义控件的漂亮工作代码(paulund),我有一个基本问题。我对PHP、编程,尤其是OOP都是新手。所以我特别想知道,第一个“条件”是什么,而其余的条件对我来说似乎是可以理解的。我在以下方面存在理解问题:

    if ( ! class_exists( \'WP_Customize_Control\' ) )
    return NULL;
阅读“class\\u exists”的php手册,我在一个德国博客上读到,上面的代码确保了我们与其他插件没有冲突。

这就是它的想法,它是如何工作的?Wordpress Core不应该存在这个类吗?对不起,我的英语不好。非常感谢。

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

这是一种很糟糕的方式来确保你处于正确的环境中。通常的方法是只在真正需要的时候加载类,而不是更早。

一个副作用是无法缓存以下代码,因为该行是在运行时计算的,而不是在编译时计算的。这同样适用于function_exists().

小结:不要这样做。

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请