Comments 23
На мой взгляд такие статьи нужны. Причем даже не столько как источник информации, а чтобы новички понимали, что они не одни в этом мире и где-то есть человек, который тоже ничего не понимает но пытается что-то с этим делать.
Нужны как поучение.
Ген.дир который спокойно ждет месяц исправления ошибки от которой "всё зависит"©.
Отдел кадров, который решил взять единственным разработчиком джуна не по профилю.
Разработчик который работает методом тыка вместо системного подхода.
И так далее.
Автору респект за отважное решение проблем, но в описанной ситуации буквально всё не так как должно быть.
От души рекомендуем @serjJS найти контору где он будет одним из членов команды, и не старшим... Потому что желания и энтузиазма через край, но в такой ситуации и с таким подходом будет тратиться много времени даже на простейшие вещи, а неправильные (но сработавшие) практики будут закрепляться, а не исправляться.
спасибо, неожиданно и приятно :)
Мяу благодарю
Прям себя узнаю , лет 10 назад ))
В опенкарт свечку не держал, но сомневаюсь, что там MVC реализовано по той схеме, которая тут нарисована.
Модель не должна сама с внешним миром коммуницировать. Для этого есть контроллер. поэтому стрелочка от модели должна вести обратно в контроллер, а из контроллера — во вью.
А в целом, как я понял, проблем было две — понять, по какому принципу обновляется информация, и разобраться с кроном.
Насчет ценности статьи для новичков я сомневаюсь. Для этого нужен особый талант. Надо вычитывать свое повествование как бы со стороны, и отмечать "провисания", когда что-то происходит без видимой связи с предыдущими событиями. К примеру, кроме пары невнятных картинок, статья никак не поясняет, а как, собственно, надо "подготовить файл", чтобы запустить его через CRON. Так что да — разве что как мотиватор.
Модель не должна сама с внешним миром коммуницировать. Для этого есть контроллер. поэтому стрелочка от модели должна вести обратно в контроллер, а из контроллера — во вью.
Из контроллера стрелочка только в модель должна вести. А изменения модели должны обновлять вью, связанный с этой моделью.
Если же из контроллера стрелочка ведёт во вью, то это не MVC уже, а MVP (как например в Laravel или Symfony).
Ну я всегда путаюсь в этих формальных оперделениях. Мне кажется, что они все больше теоретические. Например, ни в одном из них нету роутера.
Поэтому тот же Фабьен, если не путаю, предложил отказаться от аббревиатур в пользу определения "Request-Response Framework" для Симфони. Единственное что остаётся неизменным во всей этой чехорде из роутеров, миддлварей, эвентлистнеров, комманд басов и проч.
Но на счёт теории… Ну вот MVVM из этого списка аббревиатур выделяется очень сильно.
Ну в целом, если смотреть по картинкам, то MVP гораздо лучше иллюстрирует то, что мы используем в пыхе в силу особенностей его жизненного цикла. Хотя этот "презентер" явно притянут за уши. Никакой он не презентер, а самый обычный контроллер. Так что если говорить об аббревиатурах, то я бы оставил картинку от MVP, но назвал ее web-MVC :)
Если уж костылить, то надо было запоминать полученное значение валюты, но выводить его не сегодня, а завтра.
И вообще, зачем брать актуальное значение по курсу ЦБ? Надо усреднять за несколько дней, если курс падает ( то есть цена продукта падает), наоборот, форсировать, если курс растет. То есть цена продукта должна расти резче, чем курс валюты и падать медленнее. Надо ж как-то страховаться! И контора таким образом заработает лишнюю пару баксов.
Должно было так: день потратил как найти и оценить специалиста. Второй день: Заказал работу и оплатил три тысячи. Всё работает хорошо. Всё.
Читал как страшный ужастик на одном дыхании, желаю крепкого здоровья автору.
И вроде должно стать все проще с опытом. Ан нет! Я вот имею 15 летний опыт в этом бизнесе, но вот прямо сейчас тоже потратил не меньше месяца на поиск (и еще потратится месяца 2 на имплементацию) нахождения нужного! курса валют в дебрях огромной корпорации
Как по мне - странно получать курс валют из примера работы веб сервиса..
Надо просто послать запрос с нужными параметрами к веб сервису и всё..
http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx?op=GetCursOnDate
Если не был знаком с OpenCart, нужно было посмотреть хотя-бы что он из себя представляет на Youtube и как он работает.
Если нужно что-то запустить по времени то это везде CRON (у OpenCart должен быть 1 файл планировщик который вызывается с помощью CRON.
P.S.Как говориться 3 недели попыток могут заменить 3 часа документации :)
Серег ты молодец мы с тобой
Как я 30 дней автообновление валюты чинил: Opencart 3.0