本文整理匯總了PHP中Zend\Pdf\InternalType\AbstractTypeObject::makeClone方法的典型用法代碼示例。如果您正苦於以下問題:PHP AbstractTypeObject::makeClone方法的具體用法?PHP AbstractTypeObject::makeClone怎麽用?PHP AbstractTypeObject::makeClone使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Zend\Pdf\InternalType\AbstractTypeObject
的用法示例。
在下文中一共展示了AbstractTypeObject::makeClone方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: makeClone
/**
* Detach PDF object from the factory (if applicable), clone it and attach to new factory.
*
* @param \Zend\Pdf\ObjectFactory $factory The factory to attach
* @param array &$processed List of already processed indirect objects, used to avoid objects duplication
* @param integer $mode Cloning mode (defines filter for objects cloning)
* @returns \Zend\Pdf\InternalType\AbstractTypeObject
*/
public function makeClone(ObjectFactory $factory, array &$processed, $mode)
{
$id = spl_object_hash($this);
if (isset($processed[$id])) {
// Do nothing if object is already processed
// return it
return $processed[$id];
}
// Create obect with null value and register it in $processed container
$processed[$id] = $clonedObject = $factory->newObject(new NullObject());
// Pecursively process actual data
$clonedObject->_value = $this->_value->makeClone($factory, $processed, $mode);
if ($clonedObject->_value instanceof NullObject) {
// Do not store null objects within $processed container since it may be filtered
// by $mode parameter but used in some future pass
unset($processed[$id]);
// Return direct null object
return $clonedObject->_value;
}
return $clonedObject;
}