V
Size: a a a
G
<?phpБалванка на фасад
namespace App\BusinessLogic;
require 'vendor/autoload.php';
use App\BusinessLogic\System\{Client, Objects, Provider};
/**
* Интерфейс системы парсера
*/
class ParserFacade
{
/**
* @var Client
*/
private $client;
/**
* @var Objects
*/
private $objects;
/**
* @var Provider
*/
private $provider;
/**
* Инициализация подсистемы парсера
*
* @param Client|null $client
* @param Objects|null $objects
* @param Provider|null $provider
*/
public function __construct(
?Client $client = null,
?Objects $objects = null,
?Provider $provider = null
)
{
$this->client = $client ?: new Client();
$this->objects = $objects ?: new Objects();
$this->provider = $provider ?: new Provider();
}
/**
* Сохранить объект в БД
*/
public function saveObject()
{
// save mysql and mongo
}
/**
* Получить объекты предоставляемые провайдером
*
* @param providerURL|null $client
* @param filterParams|null $client
*/
public function getObjects($providerURL, $filterParams, $configsClient)
{
// Client request
$objects = $this->client->request($providerURL, $filterParams, $configsClient);
}
public function validation()
{
// check phone number and Avito ID
}
}
G
<?phpБалванка на фасад
namespace App\BusinessLogic;
require 'vendor/autoload.php';
use App\BusinessLogic\System\{Client, Objects, Provider};
/**
* Интерфейс системы парсера
*/
class ParserFacade
{
/**
* @var Client
*/
private $client;
/**
* @var Objects
*/
private $objects;
/**
* @var Provider
*/
private $provider;
/**
* Инициализация подсистемы парсера
*
* @param Client|null $client
* @param Objects|null $objects
* @param Provider|null $provider
*/
public function __construct(
?Client $client = null,
?Objects $objects = null,
?Provider $provider = null
)
{
$this->client = $client ?: new Client();
$this->objects = $objects ?: new Objects();
$this->provider = $provider ?: new Provider();
}
/**
* Сохранить объект в БД
*/
public function saveObject()
{
// save mysql and mongo
}
/**
* Получить объекты предоставляемые провайдером
*
* @param providerURL|null $client
* @param filterParams|null $client
*/
public function getObjects($providerURL, $filterParams, $configsClient)
{
// Client request
$objects = $this->client->request($providerURL, $filterParams, $configsClient);
}
public function validation()
{
// check phone number and Avito ID
}
}
<?php
namespace App\BusinessLogic;
use App\BusinessLogic\System\{Client, Objects, Provider};
use App\BusinessLogic\ParserFacade;
// API access to the provider
$provider = [
'user' => '',
'token' => '',
'site' => ''
];
$configsClient = [
'timeout' => 2.0
];
$providerURL = $site . 'user=' . $provider['user'] . 'token=' . $provider['token'];
// Filters params
$filterParams = 'source=1&limit=2';
// Enterpoint in system
$parser = new ParserFacade();
$parser->getObjects($providerURL, $filterParams, $configsClient);
S
A
S
A
V
A
A
A