[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: 8-CMS
Страницы: 1, 2, 3, 4, 5
chee
twin,
Цитата (twin @ 28.10.2015 - 05:24)
А про фабрики на статике, позволь усомниться. Ты их не приемлишь, а терпишь. По твоей же логике. Скорее всего не ты их делаешь.

Большинство фабрик не мои, но иногда новые пишу и я. Для меня не зашквар использовать статику. Вот тебе пример из недавнего моего кода, я был волен не использовать статику, мог запилить одиночку, но я же понимаю, в данном случае объект там не нужен был

<?php

function
cTraderSyncContacts()
{
ini_set('memory_limit', '500M');
global $timedate;

$traderService = \Vedisoft\cTrader\cTrader::getService();

if (!$traderService) {
return false;
}

$findUnsync = new \Vedisoft\cTrader\Query\FindUnsync;
$brokerAccounts = $findUnsync->getBrokerAccounts();

$dispatcher = \Vedisoft\cTrader\cTrader::getDispatcher($traderService);

$dispatcher->listen('create', function ($bean, $traderService) {
$request = \Vedisoft\cTrader\cTrader::bind('traderCreateRequest', $bean);
$response = $traderService->create($request);
\
Vedisoft\cTrader\cTrader::bind('traderCreateResponse', $response, $bean);
});

$dispatcher->listen('update', function ($bean, $traderService) {
$request = \Vedisoft\cTrader\cTrader::bind('traderUpdateRequest', $bean);
$response = $traderService->update($request);
\
Vedisoft\cTrader\cTrader::bind('traderUpdateResponse', $response, $bean);
});

$dispatcher->listen('changepassword', function ($bean, $traderService) {
$request = \Vedisoft\cTrader\cTrader::bind('changepasswordRequest', $bean);
$traderService->changePassword($request['login'], $request['password']);
});

foreach ($brokerAccounts as $brokerAccount) {
$traderService->setContext($brokerAccount);

$dispatcher->dispatchBrokerAccount($brokerAccount);

$errors = $dispatcher->getErrors();

if (empty($brokerAccount->ctrader_sync_event) && !$errors) {
$brokerAccount->ctrader_sync_status = 'done';
}

if ($errors) {
$brokerAccount->ctrader_sync_status = 'error';
}

$brokerAccount->ctrader_sync_date = $timedate->to_display_date_time(gmdate('Y-m-d H:i:s'));
$brokerAccount->ctrader_sync_hash = cTrader::hashIt('traderUpdateRequest', $brokerAccount);
$brokerAccount->ctrader_sync_password_hash = cTrader::hashIt('changepasswordRequest', $brokerAccount);
$brokerAccount->ctrader_sync_description = '';


if ($errors) {
$brokerAccount->ctrader_sync_description = implode("\n", array_filter(array_unique($errors)));
$GLOBALS['log']->fatal($brokerAccount->ctrader_sync_description);
}

$brokerAccount->save();
$dispatcher->flush();
}

return true;
}


Это реально мой код. Я не пересиливал себя когда использовал статику. Так что в данном случае, ты пытаешься решить, что то за меня, а потом сделать на основе этого выводы. Так дела не делаются.

Цитата (twin @ 28.10.2015 - 05:24)
Yii и Ларавель пошли по пути рациональности. Ты же обвинил их в говнокодинге. Про себя уже вообще молчу. А это значит ты променял здравый смысл на фанатичную приверженность к объектам. Соответственно ты фанатик чистой воды.

Я уже выше писал, видимо ты не прочитал мою позицию. Мое мнение касалось только Yii, насчет Laravel у меня другое мнение, не положительное, но другое. Ну и возможно "пахнуший" код ты воспринимаешь, как "говнокод", я же подразумеваю это Код с запашком


Цитата (twin @ 28.10.2015 - 05:24)
Вот именно! Год уже прошел, а ты все сомневаешься. Все не можешь решиться отойти от канонов хоть на полшага. Это ли не фанатизм? :)

Именно это и показывает, что я не фанатик, я критически воспринимаю идеи, сомневаюсь в них. Если бы я был фанатиком, то уже давно наплодил бы сеттеры/геттеры и был доволен как слон. Почитай в вики определении Фанатик.

_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.