1. Go to this page and download the library: Download yard/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/ */
yard / data example snippets
global $post;
$postData = \Yard\Data\PostData::from($post);
$postData = \Yard\Data\PostData::from(
[
'id' => 42,
'author' => 1,
'title' => 'Hello, World!',
'content' => 'This is a test post.',
'excerpt' => 'This is a test post.',
'status' => 'publish',
'date' => '2021-01-01 00:00:00',
'modified' => '2021-01-01 00:00:00',
'postType' => 'post',
'slug'=> 'hello-world',
]
);
namespace App\Data;
use Yard\Data\Attributes\Meta;
use Yard\Data\PostData;
class VacancyData extends PostData
{
#[Meta(metaKey: 'vacancy_email')]
public string $email;
}
#[Meta]
public string $vacancyEmail;
#[Meta]
public EmployeeData $vacancyEmployee;
namespace App\Data;
use Yard\Data\Attributes\MetaPrefix;
use Yard\Data\Attributes\Meta;
use Yard\Data\PostData;
#[MetaPrefix(prefix: 'vacancy')]
class VacancyData extends PostData
{
#[Meta]
public string $email;
}
#[MetaPrefix(prefix: 'vacancy')]
class VacancyData extends PostData
{
#[Meta]
public bool $membersOnly;
}
namespace App\Data;
use Illuminate\Support\Collection;
use Yard\Data\Attributes\Terms;
use Yard\Data\PostData;
class VacancyData extends PostData
{
#[Terms(taxonomy: 'vacancy_location')]
/** @var Collection<int, TermData> */
public Collection $locations;
}
#[Terms]
/** @var Collection<int, TermData> */
public Collection $vacancyLocation;
#[Terms]
/** @var Collection<int, TermData> */
public Collection $vacancyLocations;
namespace App\Data;
use Illuminate\Support\Collection;
use Yard\Data\Attributes\TaxonomyPrefix;
use Yard\Data\Attributes\Terms;
use Yard\Data\PostData;
#[TaxonomyPrefix(prefix: 'vacancy')]
class VacancyData extends PostData
{
#[Terms]
/** @var Collection<int, TermData> */
public Collection $locations;
}
namespace App\Data;
use Yard\Data\TermData;
class TypeTermData extends TermData {
#[Meta()]
public string $icon;
}
namespace App\Data;
use Illuminate\Support\Collection;
use Yard\Data\Attributes\TaxonomyPrefix;
use Yard\Data\Attributes\Terms;
use Yard\Data\PostData;
class VacancyData extends PostData
{
#[Terms(dataClass: TypeTermData::class)]
/** @var Collection<int, TypeTermData> */
public Collection $type;
}