- rewrote debug lines, __METHOD__/__LINE__ is no longer needed
Signed-off-by: Roland Häder <roland@mxchange.org>
* @return $isAvailable Whether the given feature is available
*/
public static function isFeatureAvailable ($featureName) {
* @return $isAvailable Whether the given feature is available
*/
public static function isFeatureAvailable ($featureName) {
- // Debug message
- //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('[%s:%d]: featureName=%s - CALLED!', __METHOD__, __LINE__, $featureName));
-
+ //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('FRAMEWORK-FEATURE: featureName=%s - CALLED!', $featureName));
if (!isset(self::$enabledFeatures[$featureName]['is_available'])) {
// Default is not available
self::$enabledFeatures[$featureName]['is_available'] = false;
if (!isset(self::$enabledFeatures[$featureName]['is_available'])) {
// Default is not available
self::$enabledFeatures[$featureName]['is_available'] = false;
// Is the feature enabled?
if (!self::isFeatureEnabled($featureName)) {
// Then it can't be available
// Is the feature enabled?
if (!self::isFeatureEnabled($featureName)) {
// Then it can't be available
- self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('[%s:%d]: Feature "%s"is not enabled.', __METHOD__, __LINE__, $featureName));
+ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('FRAMEWORK-FEATURE: Feature "%s"is not enabled.', $featureName));
return false;
} // END - if
// Create config key (for feature class lookup)
$configKey = sprintf('feature_%s_class', $featureName);
return false;
} // END - if
// Create config key (for feature class lookup)
$configKey = sprintf('feature_%s_class', $featureName);
- // Debug message
- //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('[%s:%d]: configKey=%s', __METHOD__, __LINE__, $configKey));
-
// Now try to get the instance
// Now try to get the instance
+ //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('FRAMEWORK-FEATURE: configKey=%s', $configKey));
try {
// Try to get an instance
self::$enabledFeatures[$featureName]['instance'] = ObjectFactory::createObjectByConfiguredName($configKey);
try {
// Try to get an instance
self::$enabledFeatures[$featureName]['instance'] = ObjectFactory::createObjectByConfiguredName($configKey);
self::$enabledFeatures[$featureName]['is_available'] = self::$enabledFeatures[$featureName]['instance']->isFeatureAvailable();
} catch (NoClassException $e) {
// Feature class not found
self::$enabledFeatures[$featureName]['is_available'] = self::$enabledFeatures[$featureName]['instance']->isFeatureAvailable();
} catch (NoClassException $e) {
// Feature class not found
- self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('[%s:%d]: Feature "%s"is not available due to missing feature class. Disabling feature ...', __METHOD__, __LINE__, $featureName));
+ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('FRAMEWORK-FEATURE: Feature "%s"is not available due to missing feature class. Disabling feature ...', $featureName));
- // Debug message
- //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('[%s:%d]: featureName=%s,isAvailable=%d - EXIT!', __METHOD__, __LINE__, $featureName, intval(self::$enabledFeatures[$featureName]['is_available'])));
-
// Return "cached" status
// Return "cached" status
+ //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('FRAMEWORK-FEATURE: featureName=%s,isAvailable=%d - EXIT!', $featureName, intval(self::$enabledFeatures[$featureName]['is_available'])));
return self::$enabledFeatures[$featureName]['is_available'];
}
return self::$enabledFeatures[$featureName]['is_available'];
}
* Please make sure that isFeatureAvailable() has been called and it has
* returned true before calling this method.
*/
* Please make sure that isFeatureAvailable() has been called and it has
* returned true before calling this method.
*/
+ //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('FRAMEWORK-FEATURE: featureName=%s,featureMethod=%s,args[]=%s - CALLED!', $featureName, $featureMethod, gettype($args)));
assert(self::isFeatureAvailable($featureName));
// Array for call-back
assert(self::isFeatureAvailable($featureName));
// Array for call-back
- $callable = array(self::$enabledFeatures[$featureName]['instance'], 'featureMethod' . self::convertToClassName($featureMethod));
+ $callable = array(
+ self::$enabledFeatures[$featureName]['instance'],
+ sprintf('featureMethod%s', self::convertToClassName($featureMethod))
+ );
// So is the feature's method callable?
if (!is_callable($callable)) {
// So is the feature's method callable?
if (!is_callable($callable)) {
$return = call_user_func_array($callable, $args);
// Return any returned value
$return = call_user_func_array($callable, $args);
// Return any returned value
+ //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('FRAMEWORK-FEATURE: return[]=%s - EXIT!', gettype($return)));