1. Go to this page and download the library: Download er1z/fakemock 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/ */
er1z / fakemock example snippets
use Er1z\FakeMock\Annotations\FakeMock as FakeMock;
use Er1z\FakeMock\Annotations\FakeMockField as FakeMockField;
/**
* @FakeMock()
*/
class MyDto {
/**
* @FakeMockField()
*/
public $username;
}
$fakemock = new Er1z\FakeMock\FakeMock();
$dto = new MyDto();
$fakemock->fill($dto);
echo $dto->username; // mr.handsome
use Er1z\FakeMock\Annotations\FakeMock as FakeMock;
use Er1z\FakeMock\Annotations\FakeMockField as FakeMockField;
/**
* @FakeMock()
*/
class GroupedDto {
/**
* @FakeMockField(groups={"first"})
*/
public $field;
}
use Er1z\FakeMock\Annotations\FakeMock as FakeMock;
use Er1z\FakeMock\Annotations\FakeMockField as FakeMockField;
/**
* @FakeMock()
*/
class DocDTO {
/**
* @var float
* @FakeMockField()
*/
public $field;
}
$f = new FakeMock();
$obj = new DocDTO();
$data = $f->fill($obj);
var_dump($data->field); // eg. 1.24422
use Er1z\FakeMock\Annotations\FakeMock as FakeMock;
use Er1z\FakeMock\Annotations\FakeMockField as FakeMockField;
/**
* @FakeMock()
*/
class EncapsulatedDTO
{
/**
* @FakeMockField();
*/
protected $field;
public function getField()
{
return $this->field;
}
public function setField($field)
{
$this->field = $field;
}
}
use Er1z\FakeMock\Annotations\FakeMock as FakeMock;
use Er1z\FakeMock\Annotations\FakeMockField as FakeMockField;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @FakeMock()
*/
class ValidatedDTO {
/**
* @FakeMockField()
* @Assert\Email()
*/
public $email;
}
use Er1z\FakeMock\Annotations\FakeMock as FakeMock;
use Er1z\FakeMock\Annotations\FakeMockField as FakeMockField;
/**
* @FakeMock()
*/
class InnerDTO implements SomeDTOInterface {
/**
* @FakeMockField()
*/
public $field;
}
use Er1z\FakeMock\Annotations\FakeMock as FakeMock;
use Er1z\FakeMock\Annotations\FakeMockField as FakeMockField;
/**
* @FakeMock()
*/
class MainDTO {
/**
* @FakeMockField()
* @var SomeDTOInterface
*/
public $nested;
}
$generators = GeneratorChain::getDefaultGeneratorsSet();
foreach($generators as $g)
{
if( $g instanceof RecursiveGenerator::class )
{
$g->addClassMapping(SomeDTOInterface::class, InnerDTO::class);
}
}
$generatorChain = new GeneratorChain($generators);
$fakemock = new FakeMock(null, $generatorChain);
$mainDto = new MainDto();
$result = $fakemock->fill($mainDto);
use Er1z\FakeMock\Annotations\FakeMock as FakeMock;
use Er1z\FakeMock\Annotations\FakeMockField as FakeMockField;
/**
* @FakeMock(classMappings={"Namespace\SomeDTOInterface"=>"Some\Other\Class"})
*/
class MainDTO {
/**
* @FakeMockField()
* @var SomeDTOInterface
*/
public $nested;
/**
* @FakeMockField("mapClass"="Some\Other\Class")
* @var SomeDTOInterface
*/
public $secondNested;
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.