Архитектура монолит.У Вас модуль = агрегат? Это не одно и то же.
например для Order это его классы которые лежать в папке Order, его Aggregate Root
За пределами своего неймспейса модуля, классы напрямую не используются и не вызываются, кроме Api service классовМодуль - самостоятельная единица, которая должна работать без других модулей. Low coupling, high cohesion. Представьте, что он может подключаться через composer, вот каким он должен быть? У Вас так?
сперва у модуля Store проверить работает ли этот store, то есть проверить его рабочие часы и дневной лимит на продажуМне кажется, очевидно, что если это все-таки 2 разных агрегата одного контекста, то Store даже бизнес-логику тут не реализует, нужно просто проверить спецификацию. Делать это нужно в Application, вызвать 2 агрегата последовательно. Не нужно делать это ответственностью Order.
$items = array_intersect(
$companyItems, // на сайте
array_map(
function (string $item) {
$parts = explode(' ', $item);
return end($parts);
},
$supplierItems // от поставщика
),
);
Проверкаin_array($item['name'], $supplierNames, true)
Если их убрать и сохранить, то эти переносы появляются в других местахЕсли я правильно понял, речь про перенос слов не по строкам. К сожалению, номеров строк на скриншотах нет, что-бы в этом убедиться.
Alt+Z
для быстрой смены переноса слов.settgs.json
это называется "editor.wordWrap"
сменить работу - пока не вариантКогда будет вариант, ищите сразу позицию senior.
public function makeRequest(array $args, string $type) {
Здесь выполняете логику в зависимости от typeif($type === "source1") {
class SpecificTypeApiService implemets ApiServiceInterface
{
public function send()
{
//код ниже просто скопирован, стоит вынести что-то в параметры, что-то в конструктор и сделать код более элегантным
//можно сделать абстрактный класс и делегировать ему общий для разных type (сервисов) функционал
$proxiesArr = array('72.37.217.3:4145', '174.77.111.196:4145');
$randProx = array_rand($proxiesArr, 1);
$proxyIp = $proxiesArr[$randProx];
// $proxyIp = '174.77.111.196:4145';
$url1 = $args[0] . $args[1];
$headers = [
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 YaBrowser/21.3.3.230 Yowser/2.5 Safari/537.36'
];
$curl = curl_init();
curl_setopt($curl, CURLOPT_PROXY, $proxyIp);
curl_setopt($curl, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_VERBOSE, 1);
curl_setopt($curl, CURLOPT_POST, false);
curl_setopt($curl, CURLOPT_URL, $url1);
$result = curl_exec($curl);
if(curl_exec($curl) === false)
{
echo 'Ошибка curl: ' . curl_error($curl);
} else {
echo 'Операция завершена без каких-либо ошибок';
}
return $result;
}
}
public function makeRequest(array $args, ApiServiceInterface $apiService) {
$apiService->send();
configuration_value
, то можно напрямую //$array - исходный массив
//$configurationValue - новый массив
$configurationValue = $array['configuration_value'];
Однако смысла в этом никогда нет, только память расходовать. Значения по ключу можно получать там, где это нужно, не сохраняя их в отдельную переменную. Правильно ли я понимаю, что будет нечто:Да
git merge masterПосле этой команды нужно будет решить конфликты в файлах
git add .После этой команды нужно будет сделать коммит
git checkout masterЭто не обязательно, можно сразу:
git pull origin
git checkout branch-b
git pull
git merge origin/master
установлены и настроены nginx и так далее