-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.php
More file actions
25 lines (23 loc) · 869 Bytes
/
main.php
File metadata and controls
25 lines (23 loc) · 869 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
// used once to autoload and support namespaces
require_once 'vendor/autoload.php';
use Src\Contracts\iManager;
use Src\Services\Logger;
use Src\Factories\Formatter\Factory as FormatterFactory;
use Src\Factories\Parsers\Factory as ParserFactory;
use Src\Services\LeadsManager;
use Src\Services\LeadProcessor;
try {
$parser = (new ParserFactory())->create(iManager::JSON_FORMAT);
$data = $parser->getData($argv);
$logger = Logger::getInstance();
$formatter = (new FormatterFactory())->create(iManager::JSON_FORMAT);
$leadManager = new LeadsManager($logger, new LeadProcessor($logger), $formatter);
$processed = $leadManager
->setData($data)
->process();
file_put_contents('processed_leads.json', $processed);
echo $processed;
} catch (Exception $e) {
$logger->error($e->getMessage());
}