本文整理匯總了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);
}
}