PHP code example of markhuot / craft-data

1. Go to this page and download the library: Download markhuot/craft-data library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

markhuot / craft-data example snippets


class EntryController extends Controller
{
    #[BodyParams(EntryUpdateParams::class)]
    function actionUpdate()
    {
        // Now $this->getData() will return an `EntryUpdateParams` with all the
        // data copied over from the POST in to the class
    }
}

class EntryUpdateParams
{
    public int $elementId;
    public ?string $title;
    public ?string $slug;

    function getElement()
    {
        return \Craft::$app->elements->getElementById($this->elementId);
    }
}

use Symfony\Component\Validator\Constraints as Assert;

class EntryUpdateParams
{
    #[Assert\NotNull]
    public int $elementId;

    #[Assert\NotEmpty]
    public string $title;

    #[Assert\Regex('/[a-z]0-9_-/i')]
    public ?string $slug;

    function getElement()
    {
        return \Craft::$app->elements->getElementById($this->elementId);
    }
}