PHP code example of selami / entity
1. Go to this page and download the library: Download selami/entity 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' );
selami / entity example snippets
declare (strict_types=1 );
use Selami \Entity \ValueObjectBuilder ;
$creditCard = ValueObjectBuilder::createFromJsonFile(
'./models/credit-card.json'
)
->withCardNumber('5555555555555555' )
->withCardHolderName('Kedibey Mırmır' )
->withExpireDateMonth(8 )
->withExpireDateYear(24 )
->withCvvNumber('937' )
->build();
echo $creditCard->cardHolderName;
declare (strict_types=1 );
use Selami \Entity \Entity ;
use stdClass ;
use Ramsey \Uuid \Uuid
$id = Uuid ::uuid4 ()->toString ();
$entity = Entity::createFromJsonFile('./models/profile.json' , $id);
$entity->name = 'Kedibey' ;
$entity->age = 11 ;
$entity->email = 'kedibey@world-of-wonderful-cats-yay.com' ;
$entity->website = 'world-of-wonderful-cats-yay.com' ;
$entity->location = new stdClass();
$entity->location->country = 'TR' ;
$entity->location->address = 'Kadıköy, İstanbul' ;
$entity->available_for_hire = true ;
$entity->interests = ['napping' , 'eating' , 'bird gazing' ];
$entity->skills = [];
$entity->skills[0 ] = new stdClass();
$entity->skills[0 ]->name = 'PHP' ;
$entity->skills[0 ]->value = 0 ;
$entity->validate();
declare (strict_types=1 );
use Selami \Entity \Entity ;
use stdClass ;
use Ramsey \Uuid \Uuid
$id = Uuid ::uuid4 ()->toString ();
$entity = Entity::createFromJsonFile('./models/profile.json' , $id);
$entity->name = 'Kedibey' ;
$entity->age = 11 ;
$entity->email = 'kedibey@world-of-wonderful-cats-yay.com' ;
$entity->website = 'world-of-wonderful-cats-yay.com' ;
$partiallyValidateFields = ['name' , 'age' , 'email' , 'website' ];
$entity->validatePartially(partiallyValidateFields);
declare (strict_types=1 );
namespace MyLibrary \ValueObject ;
use Selami \Entity \ValueObjectBuilder ;
final class CreditCard
{
private static $schemaFile = './models/credit-card.json' ;
public static function create () : ValueObjectBuilder
{
return ValueObjectBuilder::createFromJsonFile(self ::$schemaFile);
}
}
declare (strict_types=1 );
itCard;
$valueObject = CreditCard::create()
->withCardNumber('5555555555555555' )
->withCardHolderName('Kedibey Mırmır' )
->withExpireDateMonth(8 )
->withExpireDateYear(24 )
->withCvvNumber('937' )
->build();
var_dump($valueObject->cardHolderName);
declare (strict_types=1 );
namespace MyLibrary \Entity ;
use Selami \Entity \Interfaces \EntityInterface ;
use stdClass ;
use Selami \Entity \Model ;
use Selami \Entity \EntityTrait ;
final class Profile implements EntityInterface
{
private static $schemaFile = './models/profile.json' ;
use EntityTrait ;
public static function create (string $id, ?stdClass $data=null) : EntityInterface
{
$model = Model::createFromJsonFile(self ::$schemaFile);
return new static ($model, $id, $data);
}
}