1. Go to this page and download the library: Download bankiru/doctrine-api-client 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/ */
bankiru / doctrine-api-client example snippets
class \MyVendor\Api\Entity\MyEntity {
/** @var string */
private $id;
/** @var string */
private $payload;
public function getId() { return $this->id; }
public function getPayload() { return $this->payload; }
}
class RpcClient implements RpcClientInterface {
/** RpcClient impl */
}
$client = new RpcClient();
$registry = new ClientRegistry();
$registry->add('my-client', $client);
$configuration = new Configuration();
$configuration->setMetadataFactory(new EntityMetadataFactory());
$configuration->setRegistry($this->registry);
$configuration->setProxyDir(CACHE_DIR . '/doctrine/proxy/');
$configuration->setProxyNamespace('MyVendor\Api\Proxy');
$driver = new MappingDriverChain();
$driver->addDriver(
new YmlMetadataDriver(
new SymfonyFileLocator(
[
__DIR__ . '/../Resources/config/api/' => 'MyVendor\Api\Entity',
],
'.api.yml',
DIRECTORY_SEPARATOR)
),
'MyVendor\Api\Entity'
);
$configuration->setDriver($driver);
$manager = new EntityManager($configuration);
$samples = $manager->getRepository(\MyVendor\Api\Entity\MyEntity::class)->findBy(['payload'=>'sample']);
foreach ($samples as $sample) {
var_dump($sample->getId());
}
class MyRepository extends \Bankiru\Api\Doctrine\EntityRepository
{
public function callCustomRpcMethod()
{
$request = new \Bankiru\Api\Rpc\RpcRequest('my-method',['param1'=>'value1']);
$data = $this->getClient()->invoke([$request])->getResponse($request);
return $data;
}
}
class MyRepository extends \Bankiru\Api\Doctrine\EntityRepository
{
public function callCustomRpcMethod()
{
$request = new \Bankiru\Api\Rpc\RpcRequest(
$this->getClientMethod('custom'),
['param1'=>'value1']
);
$data = $this->getClient()->invoke([$request])->getResponse($request);
return $data;
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.