本文整理汇总了PHP中Gadget::getFeatureParams方法的典型用法代码示例。如果您正苦于以下问题:PHP Gadget::getFeatureParams方法的具体用法?PHP Gadget::getFeatureParams怎么用?PHP Gadget::getFeatureParams使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Gadget
的用法示例。
在下文中一共展示了Gadget::getFeatureParams方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: featuresLoad
function featuresLoad(Gadget $gadget, $context)
{
// Process required / desired features
$requires = $gadget->getRequires();
$needed = array();
$optionalNames = array();
foreach ($requires as $key => $entry) {
$needed[] = $key;
if ($entry->isOptional()) {
$optionalNames[] = $key;
}
}
$resultsFound = array();
$resultsMissing = array();
$missingOptional = array();
$missingRequired = array();
$context->getRegistry()->getIncludedFeatures($needed, $resultsFound, $resultsMissing);
foreach ($resultsMissing as $missingResult) {
if (in_array($missingResult, $optionalNames)) {
$missingOptional[$missingResult] = $missingResult;
} else {
$missingRequired[$missingResult] = $missingResult;
}
}
if (count($missingRequired)) {
throw new GadgetException("Unsupported feature(s): " . implode(', ', $missingRequired));
}
// create features
$features = array();
foreach ($resultsFound as $entry) {
$features[$entry] = $context->getRegistry()->getEntry($entry)->getFeature()->create();
}
// prepare them
foreach ($features as $key => $feature) {
$params = $gadget->getFeatureParams($gadget, $context->getRegistry()->getEntry($key));
$feature->prepare($gadget, $context, $params);
}
// and process them
foreach ($features as $key => $feature) {
$params = $gadget->getFeatureParams($gadget, $context->getRegistry()->getEntry($key));
$feature->process($gadget, $context, $params);
}
}