# give/4.16.9/src/DonationForms/DataTransferObjects/DonationFormPreviewRouteData.php

GiveWP – Donation Plugin and Fundraising Platform, version 4.16.9. 50 lines.

- Page: https://pluginprobe.com/plugins/give/4.16.9/code/src/DonationForms/DataTransferObjects/DonationFormPreviewRouteData.php
- Raw: https://pluginprobe.com/plugins/give/4.16.9/raw/src/DonationForms/DataTransferObjects/DonationFormPreviewRouteData.php
- Modified: 2025-02-26T22:53:50+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/give/4.16.9/code/src/DonationForms/DataTransferObjects/DonationFormPreviewRouteData.php#L10-L20`.

```php
<?php

namespace Give\DonationForms\DataTransferObjects;

use Give\DonationForms\Properties\FormSettings;
use Give\Framework\Blocks\BlockCollection;

/**
 * @since 3.0.0
 */
class DonationFormPreviewRouteData
{
    /**
     * @var int
     */
    public $formId;

    /**
     * @var BlockCollection|null
     */
    public $formBlocks;

    /**
     * @var FormSettings|null
     */
    public $formSettings;

    /**
     * Convert data from request into DTO
     *
     * @since 3.0.0
     *
     * @param array{form-id: string, form-settings: string, form-blocks: string} $request
     */
    public static function fromRequest(array $request): self
    {
        $self = new self();

        $self->formId = (int)$request['form-id'];
        $self->formSettings = !empty($request['form-settings']) ? FormSettings::fromJson(
            $request['form-settings']
        ) : null;
        $self->formBlocks = !empty($request['form-blocks']) ? BlockCollection::fromJson(
            $request['form-blocks']
        ) : null;

        return $self;
    }
}

```
