Pimcore\Model\Document\Hardlink\Service::upperCastDocument PHP Метод

upperCastDocument() публичный статический Метод

public static upperCastDocument ( Document $doc ) : Document
$doc Pimcore\Model\Document
Результат Pimcore\Model\Document
    public static function upperCastDocument(Document $doc)
    {
        $to_class = "Pimcore\\Model\\Document\\Hardlink\\Wrapper\\" . ucfirst($doc->getType());
        $old_serialized_prefix = "O:" . strlen(get_class($doc));
        $old_serialized_prefix .= ":\"" . get_class($doc) . "\":";
        // unset eventually existing children, because of performance reasons when serializing the document
        $doc->setChildren(null);
        $old_serialized_object = Serialize::serialize($doc);
        $new_serialized_object = 'O:' . strlen($to_class) . ':"' . $to_class . '":';
        $new_serialized_object .= substr($old_serialized_object, strlen($old_serialized_prefix));
        $document = Serialize::unserialize($new_serialized_object);
        return $document;
    }