/** * @param string $enum_class * @param string $setting */ function wplib_define($enum_class, $setting) { do { $message = false; if ('WPLib_' !== substr($enum_class, 0, 6)) { $enum_class = "WPLib_{$enum_class}"; } if (defined('WP_DEBUG') && WP_DEBUG || defined('WPLIB_CHECK_ENUMS')) { if (!class_exists('WPLib_Enum')) { $message = 'The class WPLib_Enum has not been declared yet.'; break; } if (!class_exists($enum_class)) { $message = sprintf("No Enum class %s.", $enum_class); break; } if (!is_subclass_of($enum_class, 'WPLib_Enum')) { $message = sprintf("Class %s is not a subclass of WPLib_Enum.", $enum_class); break; } if (is_null($value = constant("{$enum_class}::{$setting}"))) { $message = sprintf("No Constant %s for Enum class %s.", $setting, $enum_class); break; } } WPLib_Enum::set_enum($enum_class, $value); } while (false); if ($message) { WPLib_Enum::_trigger_error($message); } }
/** * @param int|WPLib_Runmode $runmode */ static function set_runmode($runmode) { if (!$runmode instanceof WPLib_Runmode) { $runmode = new WPLib_Runmode($runmode); } WPLib_Enum::set_enum('runmode', $runmode); }