本文整理汇总了PHP中PersistableFilter::supports方法的典型用法代码示例。如果您正苦于以下问题:PHP PersistableFilter::supports方法的具体用法?PHP PersistableFilter::supports怎么用?PHP PersistableFilter::supports使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PersistableFilter
的用法示例。
在下文中一共展示了PersistableFilter::supports方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: supports
/**
* @see Filter::supports()
* @param $input mixed
* @param $output mixed
* @param $fromString boolean true if the filter accepts a string as input.
* @param $toString boolean true if the filter produces a string as output.
* @return boolean
*/
function supports(&$input, &$output)
{
// Do the normal type check first.
if (!parent::supports($input, $output)) {
return false;
}
// Additional checks that cannot be done via type checks.
// 1) Check that the given publication type is supported by this filter
// If no publication type is given then we'll support the description
// by default.
if (is_a($this->getInputType(), 'MetadataTypeDescription')) {
$publicationType = $input->getStatement('[@publication-type]');
if (!empty($publicationType) && !in_array($publicationType, $this->getSupportedPublicationTypes())) {
return false;
}
}
// 2) Check that the output actually contains data and is not an empty
// description.
if (!is_null($output) && is_a($output, 'MetadataDescription')) {
$statements =& $output->getStatements();
if (empty($statements)) {
return false;
}
}
return true;
}