koras Опубликовано: 22 июля 2017 Поделиться Опубликовано: 22 июля 2017 (изменено) Наверное моя критика возможно будет неправильной или сугубо личной но всё же. Вопрос к профессионалам движка. Не знаю есть ли здесь те кто принимал участие в написания движка. Вопросы будут в этой теме чтобы не мусорить по другим разделам. 1) Почему толстые контролёры? Максимум должна быть 10 строчек. 2) Почему валидация в контролёрах? Правильнее вынести всё в модель. 3) Зачем такой страшный код в модели $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "address WHERE customer_id = '" . (int)$this->customer->getId() . "'"); Я про count(*). Это то что мне бросилось в в глаза при первом знакомстве, дальше будет больше. Изменено 22 июля 2017 пользователем koras 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... delphiworld Опубликовано: 22 июля 2017 Поделиться Опубликовано: 22 июля 2017 33 минуты назад, koras сказал: Наверное моя критика возможно будет неправильной или сугубо личной но всё же. Вопрос к профессионалам движка. Не знаю есть ли здесь те кто принимал участие в написания движка. Вопросы будут в этой теме чтобы не мусорить по другим разделам. 1) Почему толстые контролёры? Максимум должна быть 10 строчек. 2) Почему валидация в контролёрах? Правильнее вынести всё в модель. 3) Зачем такой страшный код в модели $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "address WHERE customer_id = '" . (int)$this->customer->getId() . "'"); Я про count(*). Это то что мне бросилось в в глаза при первом знакомстве, дальше будет больше. 1) Дело сугубо индивидуальное. В опенкарте вся бизнес-логика находится в контроллерах, а модель передает данные. Может быть наоборот. Но какая разница? 2) Отв 1. 3) Что страшного в этом коде? COUNT(*) работает быстрее всех остальных запросов на выборку количества записей. В вашем примере в таблице address customer_id не является первичным ключем Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... koras Опубликовано: 22 июля 2017 Автор Поделиться Опубликовано: 22 июля 2017 Почему вы решили обратить свой взор именно на опенкарт? Работа такая. Моя критика конструктивная. Конечно есть и приятные стороны, тот же twig, mvc, простота движка которая позволяет даже не смотреть в документацию. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kJlukOo Опубликовано: 22 июля 2017 Поделиться Опубликовано: 22 июля 2017 1. 10 строк контроллер? 2. ей там место. следуя концепции мвц. вся логика работы находится в контоллере. запросы к базе в модельке находятся 3. чтоооо ?? в моделе голые запросы к бд находятся. 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... HyperLabTeam Опубликовано: 22 июля 2017 Поделиться Опубликовано: 22 июля 2017 5 минут назад, koras сказал: Почему вы решили обратить свой взор именно на опенкарт? Моя критика конструктивная. он вас внимательно выслушет смотрите как сосредоточился )) 2 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... koras Опубликовано: 22 июля 2017 Автор Поделиться Опубликовано: 22 июля 2017 1) Если вы будете писать какой нить REST, я думаю Вы своё мнение поменяете, когда перепишите все контролёры, перенеся весь код в сервисный слой. 2) Модели можно дёргать с разных экшенов, при этом там же и валидировать данные. 3) Даже не хочу комментировать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 22 июля 2017 Поделиться Опубликовано: 22 июля 2017 10 минут назад, koras сказал: Почему вы решили обратить свой взор именно на опенкарт? Работа такая. Моя критика конструктивная. Конечно есть и приятные стороны, тот же twig, mvc, простота движка которая позволяет даже не смотреть в документацию. Работа вопросы задавать тупые ? В каком месте? twig только с версии 3.0 и сыроват! Если вдруг в гугле забанили "по работе" - разработчики Opencart живут тут: https://github.com/opencart/opencart 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... shoputils Опубликовано: 22 июля 2017 Поделиться Опубликовано: 22 июля 2017 korax, эти вопросы задайте парню с красивым фото в сообщении Он любит такие вопросы. А на особо интересные даже иногда отвечает на русском языке (правда коротко, зато ясно). 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... FishOnPHP Опубликовано: 23 июля 2017 Поделиться Опубликовано: 23 июля 2017 1. 10 строчек контроллер ? Вы видимо одностраничники с помощью модели MVC пишите) 2. А где ей быть ? В модели серьезно ? Почитайте о структуре и принципах работы MVC, может сразу и view в модель переместим, да ? 3. Видимо такой запрос требуется, хотя по большей части согласен можно было и лаконичнее, но в остальном вы жестко не правы, такое ощущение что первый раз с MVC встретились. У меня все. 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 23 июля 2017 Поделиться Опубликовано: 23 июля 2017 22 часа назад, koras сказал: Почему контролёры? у меня стазу такой вопрос когда учился преподавала такая мразь которая ни черта не понимала и называла контроллеры (аппаратные составляющие ПК) контролёрами, походу вот они плоды такого образования 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 23 июля 2017 Поделиться Опубликовано: 23 июля 2017 2 часа назад, FishOnPHP сказал: 1. 10 строчек контроллер ? Вы видимо одностраничники с помощью модели MVC пишите) 1. Доля истины есть в словах ТС Контроллеры в opencart точно коряво написаны Вот к примеру каким должен быть index() Одной строкой Ну во всяком случае я так стараюсь писать сейчас после долгих лет опыта работы с opencart public function index() { $this->setErrorReporting() ->getSettings() ->getPost() ->getLocalhost() ->getDomainAndScheme() ->getOrderCustomer() ->getDomainInDB() ->doDomainInDB() ->getAnswerFromDB() ->getAnswerFromSettings() ->doEcho(); } Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... pantagruel964 Опубликовано: 24 июля 2017 Поделиться Опубликовано: 24 июля 2017 В 7/22/2017 в 10:44, koras сказал: Максимум должна быть 10 строчек. Откуда вы это взяли? Похоже и сами не понимаете.. Единственное обоснованное упоминание про ограничение в N строк встречается в остросюжетном рассказе Роберта Мартина "Чистый код". И не в контроллере, а в методе. И это следствие другой мысли "один метод = одно действие". И это не правило, а рекомендация пересмотреть свой код. И вообще, пацык с картинки читает только книги, которые написал сам. Цитата Правильнее вынести всё в модель. Правильнее вынести в сервис под толстый-толстый слой абстракции Цитата Зачем такой страшный код в модели А че там? COUNT без джоинов в MyISAM отработает быстрее, чем в InnoDB, так что все норм. Странно, что вы выбрали именно этот запрос, т.е. остальное вас вообще не смущает? Цитата простота движка которая позволяет даже не смотреть в документацию. Это да. Документации ж нет, то и смотреть никуда не приходится. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... EVMedvedev Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 (изменено) В 22.07.2017 в 10:44, koras сказал: Наверное моя критика возможно будет неправильной или сугубо личной но всё же. Вопрос к профессионалам движка. Не знаю есть ли здесь те кто принимал участие в написания движка. Вопросы будут в этой теме чтобы не мусорить по другим разделам. 1) Почему толстые контролёры? Максимум должна быть 10 строчек. 2) Почему валидация в контролёрах? Правильнее вынести всё в модель. 3) Зачем такой страшный код в модели $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "address WHERE customer_id = '" . (int)$this->customer->getId() . "'"); Я про count(*). Это то что мне бросилось в в глаза при первом знакомстве, дальше будет больше. Это стандартные дефекты архитектуры кода опенкарт. Избавиться от них разработчики смогут не скоро да и то, если перепишут его на чем то вроде ZF или Symfony, где валидация и конструирование форм вынесено в отдельные классы и в сервисы, где основной функционал контроллеров вынесен соответствующие базовые классы и т.д. и т.п., то есть действительно активно используются большинство паттернов ООП. Так что, если интересует ОС, придется с этим смириться. Изменено 31 июля 2017 пользователем EVMedvedev Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... EVMedvedev Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 В 22.07.2017 в 11:23, Yoda сказал: twig только с версии 3.0 и сыроват! Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 8 часов назад, EVMedvedev сказал: Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Имелось наверно ввиду что не было его кеширования Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ssd Опубликовано: 2 августа 2017 Поделиться Опубликовано: 2 августа 2017 Здравствуйте! скажите пожалуйста как сделать сложение суммы от разных опций? к примеру. Продаю теплицу, она 4 метра и 6 метров. Клиент покупает 4 метра и выбирает установку, установка плюсует к стоимости теплицы 2000 т.р, а если клиент выберет 6 метровую теплицу установка должна подорожать на 1300 рублей. Подскажите пожалуйста как это сделать? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Первое знакомство Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
delphiworld Опубликовано: 22 июля 2017 Поделиться Опубликовано: 22 июля 2017 33 минуты назад, koras сказал: Наверное моя критика возможно будет неправильной или сугубо личной но всё же. Вопрос к профессионалам движка. Не знаю есть ли здесь те кто принимал участие в написания движка. Вопросы будут в этой теме чтобы не мусорить по другим разделам. 1) Почему толстые контролёры? Максимум должна быть 10 строчек. 2) Почему валидация в контролёрах? Правильнее вынести всё в модель. 3) Зачем такой страшный код в модели $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "address WHERE customer_id = '" . (int)$this->customer->getId() . "'"); Я про count(*). Это то что мне бросилось в в глаза при первом знакомстве, дальше будет больше. 1) Дело сугубо индивидуальное. В опенкарте вся бизнес-логика находится в контроллерах, а модель передает данные. Может быть наоборот. Но какая разница? 2) Отв 1. 3) Что страшного в этом коде? COUNT(*) работает быстрее всех остальных запросов на выборку количества записей. В вашем примере в таблице address customer_id не является первичным ключем Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... koras Опубликовано: 22 июля 2017 Автор Поделиться Опубликовано: 22 июля 2017 Почему вы решили обратить свой взор именно на опенкарт? Работа такая. Моя критика конструктивная. Конечно есть и приятные стороны, тот же twig, mvc, простота движка которая позволяет даже не смотреть в документацию. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kJlukOo Опубликовано: 22 июля 2017 Поделиться Опубликовано: 22 июля 2017 1. 10 строк контроллер? 2. ей там место. следуя концепции мвц. вся логика работы находится в контоллере. запросы к базе в модельке находятся 3. чтоооо ?? в моделе голые запросы к бд находятся. 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... HyperLabTeam Опубликовано: 22 июля 2017 Поделиться Опубликовано: 22 июля 2017 5 минут назад, koras сказал: Почему вы решили обратить свой взор именно на опенкарт? Моя критика конструктивная. он вас внимательно выслушет смотрите как сосредоточился )) 2 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... koras Опубликовано: 22 июля 2017 Автор Поделиться Опубликовано: 22 июля 2017 1) Если вы будете писать какой нить REST, я думаю Вы своё мнение поменяете, когда перепишите все контролёры, перенеся весь код в сервисный слой. 2) Модели можно дёргать с разных экшенов, при этом там же и валидировать данные. 3) Даже не хочу комментировать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 22 июля 2017 Поделиться Опубликовано: 22 июля 2017 10 минут назад, koras сказал: Почему вы решили обратить свой взор именно на опенкарт? Работа такая. Моя критика конструктивная. Конечно есть и приятные стороны, тот же twig, mvc, простота движка которая позволяет даже не смотреть в документацию. Работа вопросы задавать тупые ? В каком месте? twig только с версии 3.0 и сыроват! Если вдруг в гугле забанили "по работе" - разработчики Opencart живут тут: https://github.com/opencart/opencart 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... shoputils Опубликовано: 22 июля 2017 Поделиться Опубликовано: 22 июля 2017 korax, эти вопросы задайте парню с красивым фото в сообщении Он любит такие вопросы. А на особо интересные даже иногда отвечает на русском языке (правда коротко, зато ясно). 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... FishOnPHP Опубликовано: 23 июля 2017 Поделиться Опубликовано: 23 июля 2017 1. 10 строчек контроллер ? Вы видимо одностраничники с помощью модели MVC пишите) 2. А где ей быть ? В модели серьезно ? Почитайте о структуре и принципах работы MVC, может сразу и view в модель переместим, да ? 3. Видимо такой запрос требуется, хотя по большей части согласен можно было и лаконичнее, но в остальном вы жестко не правы, такое ощущение что первый раз с MVC встретились. У меня все. 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 23 июля 2017 Поделиться Опубликовано: 23 июля 2017 22 часа назад, koras сказал: Почему контролёры? у меня стазу такой вопрос когда учился преподавала такая мразь которая ни черта не понимала и называла контроллеры (аппаратные составляющие ПК) контролёрами, походу вот они плоды такого образования 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 23 июля 2017 Поделиться Опубликовано: 23 июля 2017 2 часа назад, FishOnPHP сказал: 1. 10 строчек контроллер ? Вы видимо одностраничники с помощью модели MVC пишите) 1. Доля истины есть в словах ТС Контроллеры в opencart точно коряво написаны Вот к примеру каким должен быть index() Одной строкой Ну во всяком случае я так стараюсь писать сейчас после долгих лет опыта работы с opencart public function index() { $this->setErrorReporting() ->getSettings() ->getPost() ->getLocalhost() ->getDomainAndScheme() ->getOrderCustomer() ->getDomainInDB() ->doDomainInDB() ->getAnswerFromDB() ->getAnswerFromSettings() ->doEcho(); } Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... pantagruel964 Опубликовано: 24 июля 2017 Поделиться Опубликовано: 24 июля 2017 В 7/22/2017 в 10:44, koras сказал: Максимум должна быть 10 строчек. Откуда вы это взяли? Похоже и сами не понимаете.. Единственное обоснованное упоминание про ограничение в N строк встречается в остросюжетном рассказе Роберта Мартина "Чистый код". И не в контроллере, а в методе. И это следствие другой мысли "один метод = одно действие". И это не правило, а рекомендация пересмотреть свой код. И вообще, пацык с картинки читает только книги, которые написал сам. Цитата Правильнее вынести всё в модель. Правильнее вынести в сервис под толстый-толстый слой абстракции Цитата Зачем такой страшный код в модели А че там? COUNT без джоинов в MyISAM отработает быстрее, чем в InnoDB, так что все норм. Странно, что вы выбрали именно этот запрос, т.е. остальное вас вообще не смущает? Цитата простота движка которая позволяет даже не смотреть в документацию. Это да. Документации ж нет, то и смотреть никуда не приходится. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... EVMedvedev Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 (изменено) В 22.07.2017 в 10:44, koras сказал: Наверное моя критика возможно будет неправильной или сугубо личной но всё же. Вопрос к профессионалам движка. Не знаю есть ли здесь те кто принимал участие в написания движка. Вопросы будут в этой теме чтобы не мусорить по другим разделам. 1) Почему толстые контролёры? Максимум должна быть 10 строчек. 2) Почему валидация в контролёрах? Правильнее вынести всё в модель. 3) Зачем такой страшный код в модели $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "address WHERE customer_id = '" . (int)$this->customer->getId() . "'"); Я про count(*). Это то что мне бросилось в в глаза при первом знакомстве, дальше будет больше. Это стандартные дефекты архитектуры кода опенкарт. Избавиться от них разработчики смогут не скоро да и то, если перепишут его на чем то вроде ZF или Symfony, где валидация и конструирование форм вынесено в отдельные классы и в сервисы, где основной функционал контроллеров вынесен соответствующие базовые классы и т.д. и т.п., то есть действительно активно используются большинство паттернов ООП. Так что, если интересует ОС, придется с этим смириться. Изменено 31 июля 2017 пользователем EVMedvedev Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... EVMedvedev Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 В 22.07.2017 в 11:23, Yoda сказал: twig только с версии 3.0 и сыроват! Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 8 часов назад, EVMedvedev сказал: Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Имелось наверно ввиду что не было его кеширования Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ssd Опубликовано: 2 августа 2017 Поделиться Опубликовано: 2 августа 2017 Здравствуйте! скажите пожалуйста как сделать сложение суммы от разных опций? к примеру. Продаю теплицу, она 4 метра и 6 метров. Клиент покупает 4 метра и выбирает установку, установка плюсует к стоимости теплицы 2000 т.р, а если клиент выберет 6 метровую теплицу установка должна подорожать на 1300 рублей. Подскажите пожалуйста как это сделать? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Первое знакомство Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
koras Опубликовано: 22 июля 2017 Автор Поделиться Опубликовано: 22 июля 2017 Почему вы решили обратить свой взор именно на опенкарт? Работа такая. Моя критика конструктивная. Конечно есть и приятные стороны, тот же twig, mvc, простота движка которая позволяет даже не смотреть в документацию. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... kJlukOo Опубликовано: 22 июля 2017 Поделиться Опубликовано: 22 июля 2017 1. 10 строк контроллер? 2. ей там место. следуя концепции мвц. вся логика работы находится в контоллере. запросы к базе в модельке находятся 3. чтоооо ?? в моделе голые запросы к бд находятся. 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... HyperLabTeam Опубликовано: 22 июля 2017 Поделиться Опубликовано: 22 июля 2017 5 минут назад, koras сказал: Почему вы решили обратить свой взор именно на опенкарт? Моя критика конструктивная. он вас внимательно выслушет смотрите как сосредоточился )) 2 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... koras Опубликовано: 22 июля 2017 Автор Поделиться Опубликовано: 22 июля 2017 1) Если вы будете писать какой нить REST, я думаю Вы своё мнение поменяете, когда перепишите все контролёры, перенеся весь код в сервисный слой. 2) Модели можно дёргать с разных экшенов, при этом там же и валидировать данные. 3) Даже не хочу комментировать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 22 июля 2017 Поделиться Опубликовано: 22 июля 2017 10 минут назад, koras сказал: Почему вы решили обратить свой взор именно на опенкарт? Работа такая. Моя критика конструктивная. Конечно есть и приятные стороны, тот же twig, mvc, простота движка которая позволяет даже не смотреть в документацию. Работа вопросы задавать тупые ? В каком месте? twig только с версии 3.0 и сыроват! Если вдруг в гугле забанили "по работе" - разработчики Opencart живут тут: https://github.com/opencart/opencart 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... shoputils Опубликовано: 22 июля 2017 Поделиться Опубликовано: 22 июля 2017 korax, эти вопросы задайте парню с красивым фото в сообщении Он любит такие вопросы. А на особо интересные даже иногда отвечает на русском языке (правда коротко, зато ясно). 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... FishOnPHP Опубликовано: 23 июля 2017 Поделиться Опубликовано: 23 июля 2017 1. 10 строчек контроллер ? Вы видимо одностраничники с помощью модели MVC пишите) 2. А где ей быть ? В модели серьезно ? Почитайте о структуре и принципах работы MVC, может сразу и view в модель переместим, да ? 3. Видимо такой запрос требуется, хотя по большей части согласен можно было и лаконичнее, но в остальном вы жестко не правы, такое ощущение что первый раз с MVC встретились. У меня все. 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 23 июля 2017 Поделиться Опубликовано: 23 июля 2017 22 часа назад, koras сказал: Почему контролёры? у меня стазу такой вопрос когда учился преподавала такая мразь которая ни черта не понимала и называла контроллеры (аппаратные составляющие ПК) контролёрами, походу вот они плоды такого образования 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 23 июля 2017 Поделиться Опубликовано: 23 июля 2017 2 часа назад, FishOnPHP сказал: 1. 10 строчек контроллер ? Вы видимо одностраничники с помощью модели MVC пишите) 1. Доля истины есть в словах ТС Контроллеры в opencart точно коряво написаны Вот к примеру каким должен быть index() Одной строкой Ну во всяком случае я так стараюсь писать сейчас после долгих лет опыта работы с opencart public function index() { $this->setErrorReporting() ->getSettings() ->getPost() ->getLocalhost() ->getDomainAndScheme() ->getOrderCustomer() ->getDomainInDB() ->doDomainInDB() ->getAnswerFromDB() ->getAnswerFromSettings() ->doEcho(); } Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... pantagruel964 Опубликовано: 24 июля 2017 Поделиться Опубликовано: 24 июля 2017 В 7/22/2017 в 10:44, koras сказал: Максимум должна быть 10 строчек. Откуда вы это взяли? Похоже и сами не понимаете.. Единственное обоснованное упоминание про ограничение в N строк встречается в остросюжетном рассказе Роберта Мартина "Чистый код". И не в контроллере, а в методе. И это следствие другой мысли "один метод = одно действие". И это не правило, а рекомендация пересмотреть свой код. И вообще, пацык с картинки читает только книги, которые написал сам. Цитата Правильнее вынести всё в модель. Правильнее вынести в сервис под толстый-толстый слой абстракции Цитата Зачем такой страшный код в модели А че там? COUNT без джоинов в MyISAM отработает быстрее, чем в InnoDB, так что все норм. Странно, что вы выбрали именно этот запрос, т.е. остальное вас вообще не смущает? Цитата простота движка которая позволяет даже не смотреть в документацию. Это да. Документации ж нет, то и смотреть никуда не приходится. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... EVMedvedev Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 (изменено) В 22.07.2017 в 10:44, koras сказал: Наверное моя критика возможно будет неправильной или сугубо личной но всё же. Вопрос к профессионалам движка. Не знаю есть ли здесь те кто принимал участие в написания движка. Вопросы будут в этой теме чтобы не мусорить по другим разделам. 1) Почему толстые контролёры? Максимум должна быть 10 строчек. 2) Почему валидация в контролёрах? Правильнее вынести всё в модель. 3) Зачем такой страшный код в модели $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "address WHERE customer_id = '" . (int)$this->customer->getId() . "'"); Я про count(*). Это то что мне бросилось в в глаза при первом знакомстве, дальше будет больше. Это стандартные дефекты архитектуры кода опенкарт. Избавиться от них разработчики смогут не скоро да и то, если перепишут его на чем то вроде ZF или Symfony, где валидация и конструирование форм вынесено в отдельные классы и в сервисы, где основной функционал контроллеров вынесен соответствующие базовые классы и т.д. и т.п., то есть действительно активно используются большинство паттернов ООП. Так что, если интересует ОС, придется с этим смириться. Изменено 31 июля 2017 пользователем EVMedvedev Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... EVMedvedev Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 В 22.07.2017 в 11:23, Yoda сказал: twig только с версии 3.0 и сыроват! Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 8 часов назад, EVMedvedev сказал: Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Имелось наверно ввиду что не было его кеширования Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ssd Опубликовано: 2 августа 2017 Поделиться Опубликовано: 2 августа 2017 Здравствуйте! скажите пожалуйста как сделать сложение суммы от разных опций? к примеру. Продаю теплицу, она 4 метра и 6 метров. Клиент покупает 4 метра и выбирает установку, установка плюсует к стоимости теплицы 2000 т.р, а если клиент выберет 6 метровую теплицу установка должна подорожать на 1300 рублей. Подскажите пожалуйста как это сделать? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Первое знакомство Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
kJlukOo Опубликовано: 22 июля 2017 Поделиться Опубликовано: 22 июля 2017 1. 10 строк контроллер? 2. ей там место. следуя концепции мвц. вся логика работы находится в контоллере. запросы к базе в модельке находятся 3. чтоооо ?? в моделе голые запросы к бд находятся. 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... HyperLabTeam Опубликовано: 22 июля 2017 Поделиться Опубликовано: 22 июля 2017 5 минут назад, koras сказал: Почему вы решили обратить свой взор именно на опенкарт? Моя критика конструктивная. он вас внимательно выслушет смотрите как сосредоточился )) 2 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... koras Опубликовано: 22 июля 2017 Автор Поделиться Опубликовано: 22 июля 2017 1) Если вы будете писать какой нить REST, я думаю Вы своё мнение поменяете, когда перепишите все контролёры, перенеся весь код в сервисный слой. 2) Модели можно дёргать с разных экшенов, при этом там же и валидировать данные. 3) Даже не хочу комментировать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 22 июля 2017 Поделиться Опубликовано: 22 июля 2017 10 минут назад, koras сказал: Почему вы решили обратить свой взор именно на опенкарт? Работа такая. Моя критика конструктивная. Конечно есть и приятные стороны, тот же twig, mvc, простота движка которая позволяет даже не смотреть в документацию. Работа вопросы задавать тупые ? В каком месте? twig только с версии 3.0 и сыроват! Если вдруг в гугле забанили "по работе" - разработчики Opencart живут тут: https://github.com/opencart/opencart 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... shoputils Опубликовано: 22 июля 2017 Поделиться Опубликовано: 22 июля 2017 korax, эти вопросы задайте парню с красивым фото в сообщении Он любит такие вопросы. А на особо интересные даже иногда отвечает на русском языке (правда коротко, зато ясно). 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... FishOnPHP Опубликовано: 23 июля 2017 Поделиться Опубликовано: 23 июля 2017 1. 10 строчек контроллер ? Вы видимо одностраничники с помощью модели MVC пишите) 2. А где ей быть ? В модели серьезно ? Почитайте о структуре и принципах работы MVC, может сразу и view в модель переместим, да ? 3. Видимо такой запрос требуется, хотя по большей части согласен можно было и лаконичнее, но в остальном вы жестко не правы, такое ощущение что первый раз с MVC встретились. У меня все. 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 23 июля 2017 Поделиться Опубликовано: 23 июля 2017 22 часа назад, koras сказал: Почему контролёры? у меня стазу такой вопрос когда учился преподавала такая мразь которая ни черта не понимала и называла контроллеры (аппаратные составляющие ПК) контролёрами, походу вот они плоды такого образования 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 23 июля 2017 Поделиться Опубликовано: 23 июля 2017 2 часа назад, FishOnPHP сказал: 1. 10 строчек контроллер ? Вы видимо одностраничники с помощью модели MVC пишите) 1. Доля истины есть в словах ТС Контроллеры в opencart точно коряво написаны Вот к примеру каким должен быть index() Одной строкой Ну во всяком случае я так стараюсь писать сейчас после долгих лет опыта работы с opencart public function index() { $this->setErrorReporting() ->getSettings() ->getPost() ->getLocalhost() ->getDomainAndScheme() ->getOrderCustomer() ->getDomainInDB() ->doDomainInDB() ->getAnswerFromDB() ->getAnswerFromSettings() ->doEcho(); } Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... pantagruel964 Опубликовано: 24 июля 2017 Поделиться Опубликовано: 24 июля 2017 В 7/22/2017 в 10:44, koras сказал: Максимум должна быть 10 строчек. Откуда вы это взяли? Похоже и сами не понимаете.. Единственное обоснованное упоминание про ограничение в N строк встречается в остросюжетном рассказе Роберта Мартина "Чистый код". И не в контроллере, а в методе. И это следствие другой мысли "один метод = одно действие". И это не правило, а рекомендация пересмотреть свой код. И вообще, пацык с картинки читает только книги, которые написал сам. Цитата Правильнее вынести всё в модель. Правильнее вынести в сервис под толстый-толстый слой абстракции Цитата Зачем такой страшный код в модели А че там? COUNT без джоинов в MyISAM отработает быстрее, чем в InnoDB, так что все норм. Странно, что вы выбрали именно этот запрос, т.е. остальное вас вообще не смущает? Цитата простота движка которая позволяет даже не смотреть в документацию. Это да. Документации ж нет, то и смотреть никуда не приходится. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... EVMedvedev Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 (изменено) В 22.07.2017 в 10:44, koras сказал: Наверное моя критика возможно будет неправильной или сугубо личной но всё же. Вопрос к профессионалам движка. Не знаю есть ли здесь те кто принимал участие в написания движка. Вопросы будут в этой теме чтобы не мусорить по другим разделам. 1) Почему толстые контролёры? Максимум должна быть 10 строчек. 2) Почему валидация в контролёрах? Правильнее вынести всё в модель. 3) Зачем такой страшный код в модели $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "address WHERE customer_id = '" . (int)$this->customer->getId() . "'"); Я про count(*). Это то что мне бросилось в в глаза при первом знакомстве, дальше будет больше. Это стандартные дефекты архитектуры кода опенкарт. Избавиться от них разработчики смогут не скоро да и то, если перепишут его на чем то вроде ZF или Symfony, где валидация и конструирование форм вынесено в отдельные классы и в сервисы, где основной функционал контроллеров вынесен соответствующие базовые классы и т.д. и т.п., то есть действительно активно используются большинство паттернов ООП. Так что, если интересует ОС, придется с этим смириться. Изменено 31 июля 2017 пользователем EVMedvedev Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... EVMedvedev Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 В 22.07.2017 в 11:23, Yoda сказал: twig только с версии 3.0 и сыроват! Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 8 часов назад, EVMedvedev сказал: Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Имелось наверно ввиду что не было его кеширования Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ssd Опубликовано: 2 августа 2017 Поделиться Опубликовано: 2 августа 2017 Здравствуйте! скажите пожалуйста как сделать сложение суммы от разных опций? к примеру. Продаю теплицу, она 4 метра и 6 метров. Клиент покупает 4 метра и выбирает установку, установка плюсует к стоимости теплицы 2000 т.р, а если клиент выберет 6 метровую теплицу установка должна подорожать на 1300 рублей. Подскажите пожалуйста как это сделать? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Первое знакомство Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
HyperLabTeam Опубликовано: 22 июля 2017 Поделиться Опубликовано: 22 июля 2017 5 минут назад, koras сказал: Почему вы решили обратить свой взор именно на опенкарт? Моя критика конструктивная. он вас внимательно выслушет смотрите как сосредоточился )) 2 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
koras Опубликовано: 22 июля 2017 Автор Поделиться Опубликовано: 22 июля 2017 1) Если вы будете писать какой нить REST, я думаю Вы своё мнение поменяете, когда перепишите все контролёры, перенеся весь код в сервисный слой. 2) Модели можно дёргать с разных экшенов, при этом там же и валидировать данные. 3) Даже не хочу комментировать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 22 июля 2017 Поделиться Опубликовано: 22 июля 2017 10 минут назад, koras сказал: Почему вы решили обратить свой взор именно на опенкарт? Работа такая. Моя критика конструктивная. Конечно есть и приятные стороны, тот же twig, mvc, простота движка которая позволяет даже не смотреть в документацию. Работа вопросы задавать тупые ? В каком месте? twig только с версии 3.0 и сыроват! Если вдруг в гугле забанили "по работе" - разработчики Opencart живут тут: https://github.com/opencart/opencart 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... shoputils Опубликовано: 22 июля 2017 Поделиться Опубликовано: 22 июля 2017 korax, эти вопросы задайте парню с красивым фото в сообщении Он любит такие вопросы. А на особо интересные даже иногда отвечает на русском языке (правда коротко, зато ясно). 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... FishOnPHP Опубликовано: 23 июля 2017 Поделиться Опубликовано: 23 июля 2017 1. 10 строчек контроллер ? Вы видимо одностраничники с помощью модели MVC пишите) 2. А где ей быть ? В модели серьезно ? Почитайте о структуре и принципах работы MVC, может сразу и view в модель переместим, да ? 3. Видимо такой запрос требуется, хотя по большей части согласен можно было и лаконичнее, но в остальном вы жестко не правы, такое ощущение что первый раз с MVC встретились. У меня все. 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 23 июля 2017 Поделиться Опубликовано: 23 июля 2017 22 часа назад, koras сказал: Почему контролёры? у меня стазу такой вопрос когда учился преподавала такая мразь которая ни черта не понимала и называла контроллеры (аппаратные составляющие ПК) контролёрами, походу вот они плоды такого образования 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 23 июля 2017 Поделиться Опубликовано: 23 июля 2017 2 часа назад, FishOnPHP сказал: 1. 10 строчек контроллер ? Вы видимо одностраничники с помощью модели MVC пишите) 1. Доля истины есть в словах ТС Контроллеры в opencart точно коряво написаны Вот к примеру каким должен быть index() Одной строкой Ну во всяком случае я так стараюсь писать сейчас после долгих лет опыта работы с opencart public function index() { $this->setErrorReporting() ->getSettings() ->getPost() ->getLocalhost() ->getDomainAndScheme() ->getOrderCustomer() ->getDomainInDB() ->doDomainInDB() ->getAnswerFromDB() ->getAnswerFromSettings() ->doEcho(); } Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... pantagruel964 Опубликовано: 24 июля 2017 Поделиться Опубликовано: 24 июля 2017 В 7/22/2017 в 10:44, koras сказал: Максимум должна быть 10 строчек. Откуда вы это взяли? Похоже и сами не понимаете.. Единственное обоснованное упоминание про ограничение в N строк встречается в остросюжетном рассказе Роберта Мартина "Чистый код". И не в контроллере, а в методе. И это следствие другой мысли "один метод = одно действие". И это не правило, а рекомендация пересмотреть свой код. И вообще, пацык с картинки читает только книги, которые написал сам. Цитата Правильнее вынести всё в модель. Правильнее вынести в сервис под толстый-толстый слой абстракции Цитата Зачем такой страшный код в модели А че там? COUNT без джоинов в MyISAM отработает быстрее, чем в InnoDB, так что все норм. Странно, что вы выбрали именно этот запрос, т.е. остальное вас вообще не смущает? Цитата простота движка которая позволяет даже не смотреть в документацию. Это да. Документации ж нет, то и смотреть никуда не приходится. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... EVMedvedev Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 (изменено) В 22.07.2017 в 10:44, koras сказал: Наверное моя критика возможно будет неправильной или сугубо личной но всё же. Вопрос к профессионалам движка. Не знаю есть ли здесь те кто принимал участие в написания движка. Вопросы будут в этой теме чтобы не мусорить по другим разделам. 1) Почему толстые контролёры? Максимум должна быть 10 строчек. 2) Почему валидация в контролёрах? Правильнее вынести всё в модель. 3) Зачем такой страшный код в модели $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "address WHERE customer_id = '" . (int)$this->customer->getId() . "'"); Я про count(*). Это то что мне бросилось в в глаза при первом знакомстве, дальше будет больше. Это стандартные дефекты архитектуры кода опенкарт. Избавиться от них разработчики смогут не скоро да и то, если перепишут его на чем то вроде ZF или Symfony, где валидация и конструирование форм вынесено в отдельные классы и в сервисы, где основной функционал контроллеров вынесен соответствующие базовые классы и т.д. и т.п., то есть действительно активно используются большинство паттернов ООП. Так что, если интересует ОС, придется с этим смириться. Изменено 31 июля 2017 пользователем EVMedvedev Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... EVMedvedev Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 В 22.07.2017 в 11:23, Yoda сказал: twig только с версии 3.0 и сыроват! Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 8 часов назад, EVMedvedev сказал: Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Имелось наверно ввиду что не было его кеширования Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ssd Опубликовано: 2 августа 2017 Поделиться Опубликовано: 2 августа 2017 Здравствуйте! скажите пожалуйста как сделать сложение суммы от разных опций? к примеру. Продаю теплицу, она 4 метра и 6 метров. Клиент покупает 4 метра и выбирает установку, установка плюсует к стоимости теплицы 2000 т.р, а если клиент выберет 6 метровую теплицу установка должна подорожать на 1300 рублей. Подскажите пожалуйста как это сделать? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Первое знакомство Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
Yoda Опубликовано: 22 июля 2017 Поделиться Опубликовано: 22 июля 2017 10 минут назад, koras сказал: Почему вы решили обратить свой взор именно на опенкарт? Работа такая. Моя критика конструктивная. Конечно есть и приятные стороны, тот же twig, mvc, простота движка которая позволяет даже не смотреть в документацию. Работа вопросы задавать тупые ? В каком месте? twig только с версии 3.0 и сыроват! Если вдруг в гугле забанили "по работе" - разработчики Opencart живут тут: https://github.com/opencart/opencart 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
shoputils Опубликовано: 22 июля 2017 Поделиться Опубликовано: 22 июля 2017 korax, эти вопросы задайте парню с красивым фото в сообщении Он любит такие вопросы. А на особо интересные даже иногда отвечает на русском языке (правда коротко, зато ясно). 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... FishOnPHP Опубликовано: 23 июля 2017 Поделиться Опубликовано: 23 июля 2017 1. 10 строчек контроллер ? Вы видимо одностраничники с помощью модели MVC пишите) 2. А где ей быть ? В модели серьезно ? Почитайте о структуре и принципах работы MVC, может сразу и view в модель переместим, да ? 3. Видимо такой запрос требуется, хотя по большей части согласен можно было и лаконичнее, но в остальном вы жестко не правы, такое ощущение что первый раз с MVC встретились. У меня все. 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 23 июля 2017 Поделиться Опубликовано: 23 июля 2017 22 часа назад, koras сказал: Почему контролёры? у меня стазу такой вопрос когда учился преподавала такая мразь которая ни черта не понимала и называла контроллеры (аппаратные составляющие ПК) контролёрами, походу вот они плоды такого образования 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 23 июля 2017 Поделиться Опубликовано: 23 июля 2017 2 часа назад, FishOnPHP сказал: 1. 10 строчек контроллер ? Вы видимо одностраничники с помощью модели MVC пишите) 1. Доля истины есть в словах ТС Контроллеры в opencart точно коряво написаны Вот к примеру каким должен быть index() Одной строкой Ну во всяком случае я так стараюсь писать сейчас после долгих лет опыта работы с opencart public function index() { $this->setErrorReporting() ->getSettings() ->getPost() ->getLocalhost() ->getDomainAndScheme() ->getOrderCustomer() ->getDomainInDB() ->doDomainInDB() ->getAnswerFromDB() ->getAnswerFromSettings() ->doEcho(); } Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... pantagruel964 Опубликовано: 24 июля 2017 Поделиться Опубликовано: 24 июля 2017 В 7/22/2017 в 10:44, koras сказал: Максимум должна быть 10 строчек. Откуда вы это взяли? Похоже и сами не понимаете.. Единственное обоснованное упоминание про ограничение в N строк встречается в остросюжетном рассказе Роберта Мартина "Чистый код". И не в контроллере, а в методе. И это следствие другой мысли "один метод = одно действие". И это не правило, а рекомендация пересмотреть свой код. И вообще, пацык с картинки читает только книги, которые написал сам. Цитата Правильнее вынести всё в модель. Правильнее вынести в сервис под толстый-толстый слой абстракции Цитата Зачем такой страшный код в модели А че там? COUNT без джоинов в MyISAM отработает быстрее, чем в InnoDB, так что все норм. Странно, что вы выбрали именно этот запрос, т.е. остальное вас вообще не смущает? Цитата простота движка которая позволяет даже не смотреть в документацию. Это да. Документации ж нет, то и смотреть никуда не приходится. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... EVMedvedev Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 (изменено) В 22.07.2017 в 10:44, koras сказал: Наверное моя критика возможно будет неправильной или сугубо личной но всё же. Вопрос к профессионалам движка. Не знаю есть ли здесь те кто принимал участие в написания движка. Вопросы будут в этой теме чтобы не мусорить по другим разделам. 1) Почему толстые контролёры? Максимум должна быть 10 строчек. 2) Почему валидация в контролёрах? Правильнее вынести всё в модель. 3) Зачем такой страшный код в модели $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "address WHERE customer_id = '" . (int)$this->customer->getId() . "'"); Я про count(*). Это то что мне бросилось в в глаза при первом знакомстве, дальше будет больше. Это стандартные дефекты архитектуры кода опенкарт. Избавиться от них разработчики смогут не скоро да и то, если перепишут его на чем то вроде ZF или Symfony, где валидация и конструирование форм вынесено в отдельные классы и в сервисы, где основной функционал контроллеров вынесен соответствующие базовые классы и т.д. и т.п., то есть действительно активно используются большинство паттернов ООП. Так что, если интересует ОС, придется с этим смириться. Изменено 31 июля 2017 пользователем EVMedvedev Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... EVMedvedev Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 В 22.07.2017 в 11:23, Yoda сказал: twig только с версии 3.0 и сыроват! Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 8 часов назад, EVMedvedev сказал: Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Имелось наверно ввиду что не было его кеширования Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ssd Опубликовано: 2 августа 2017 Поделиться Опубликовано: 2 августа 2017 Здравствуйте! скажите пожалуйста как сделать сложение суммы от разных опций? к примеру. Продаю теплицу, она 4 метра и 6 метров. Клиент покупает 4 метра и выбирает установку, установка плюсует к стоимости теплицы 2000 т.р, а если клиент выберет 6 метровую теплицу установка должна подорожать на 1300 рублей. Подскажите пожалуйста как это сделать? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Первое знакомство Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
FishOnPHP Опубликовано: 23 июля 2017 Поделиться Опубликовано: 23 июля 2017 1. 10 строчек контроллер ? Вы видимо одностраничники с помощью модели MVC пишите) 2. А где ей быть ? В модели серьезно ? Почитайте о структуре и принципах работы MVC, может сразу и view в модель переместим, да ? 3. Видимо такой запрос требуется, хотя по большей части согласен можно было и лаконичнее, но в остальном вы жестко не правы, такое ощущение что первый раз с MVC встретились. У меня все. 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Otvet Опубликовано: 23 июля 2017 Поделиться Опубликовано: 23 июля 2017 22 часа назад, koras сказал: Почему контролёры? у меня стазу такой вопрос когда учился преподавала такая мразь которая ни черта не понимала и называла контроллеры (аппаратные составляющие ПК) контролёрами, походу вот они плоды такого образования 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 23 июля 2017 Поделиться Опубликовано: 23 июля 2017 2 часа назад, FishOnPHP сказал: 1. 10 строчек контроллер ? Вы видимо одностраничники с помощью модели MVC пишите) 1. Доля истины есть в словах ТС Контроллеры в opencart точно коряво написаны Вот к примеру каким должен быть index() Одной строкой Ну во всяком случае я так стараюсь писать сейчас после долгих лет опыта работы с opencart public function index() { $this->setErrorReporting() ->getSettings() ->getPost() ->getLocalhost() ->getDomainAndScheme() ->getOrderCustomer() ->getDomainInDB() ->doDomainInDB() ->getAnswerFromDB() ->getAnswerFromSettings() ->doEcho(); } Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... pantagruel964 Опубликовано: 24 июля 2017 Поделиться Опубликовано: 24 июля 2017 В 7/22/2017 в 10:44, koras сказал: Максимум должна быть 10 строчек. Откуда вы это взяли? Похоже и сами не понимаете.. Единственное обоснованное упоминание про ограничение в N строк встречается в остросюжетном рассказе Роберта Мартина "Чистый код". И не в контроллере, а в методе. И это следствие другой мысли "один метод = одно действие". И это не правило, а рекомендация пересмотреть свой код. И вообще, пацык с картинки читает только книги, которые написал сам. Цитата Правильнее вынести всё в модель. Правильнее вынести в сервис под толстый-толстый слой абстракции Цитата Зачем такой страшный код в модели А че там? COUNT без джоинов в MyISAM отработает быстрее, чем в InnoDB, так что все норм. Странно, что вы выбрали именно этот запрос, т.е. остальное вас вообще не смущает? Цитата простота движка которая позволяет даже не смотреть в документацию. Это да. Документации ж нет, то и смотреть никуда не приходится. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... EVMedvedev Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 (изменено) В 22.07.2017 в 10:44, koras сказал: Наверное моя критика возможно будет неправильной или сугубо личной но всё же. Вопрос к профессионалам движка. Не знаю есть ли здесь те кто принимал участие в написания движка. Вопросы будут в этой теме чтобы не мусорить по другим разделам. 1) Почему толстые контролёры? Максимум должна быть 10 строчек. 2) Почему валидация в контролёрах? Правильнее вынести всё в модель. 3) Зачем такой страшный код в модели $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "address WHERE customer_id = '" . (int)$this->customer->getId() . "'"); Я про count(*). Это то что мне бросилось в в глаза при первом знакомстве, дальше будет больше. Это стандартные дефекты архитектуры кода опенкарт. Избавиться от них разработчики смогут не скоро да и то, если перепишут его на чем то вроде ZF или Symfony, где валидация и конструирование форм вынесено в отдельные классы и в сервисы, где основной функционал контроллеров вынесен соответствующие базовые классы и т.д. и т.п., то есть действительно активно используются большинство паттернов ООП. Так что, если интересует ОС, придется с этим смириться. Изменено 31 июля 2017 пользователем EVMedvedev Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... EVMedvedev Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 В 22.07.2017 в 11:23, Yoda сказал: twig только с версии 3.0 и сыроват! Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 8 часов назад, EVMedvedev сказал: Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Имелось наверно ввиду что не было его кеширования Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ssd Опубликовано: 2 августа 2017 Поделиться Опубликовано: 2 августа 2017 Здравствуйте! скажите пожалуйста как сделать сложение суммы от разных опций? к примеру. Продаю теплицу, она 4 метра и 6 метров. Клиент покупает 4 метра и выбирает установку, установка плюсует к стоимости теплицы 2000 т.р, а если клиент выберет 6 метровую теплицу установка должна подорожать на 1300 рублей. Подскажите пожалуйста как это сделать? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Первое знакомство Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha
markimax Опубликовано: 23 июля 2017 Поделиться Опубликовано: 23 июля 2017 2 часа назад, FishOnPHP сказал: 1. 10 строчек контроллер ? Вы видимо одностраничники с помощью модели MVC пишите) 1. Доля истины есть в словах ТС Контроллеры в opencart точно коряво написаны Вот к примеру каким должен быть index() Одной строкой Ну во всяком случае я так стараюсь писать сейчас после долгих лет опыта работы с opencart public function index() { $this->setErrorReporting() ->getSettings() ->getPost() ->getLocalhost() ->getDomainAndScheme() ->getOrderCustomer() ->getDomainInDB() ->doDomainInDB() ->getAnswerFromDB() ->getAnswerFromSettings() ->doEcho(); } Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... pantagruel964 Опубликовано: 24 июля 2017 Поделиться Опубликовано: 24 июля 2017 В 7/22/2017 в 10:44, koras сказал: Максимум должна быть 10 строчек. Откуда вы это взяли? Похоже и сами не понимаете.. Единственное обоснованное упоминание про ограничение в N строк встречается в остросюжетном рассказе Роберта Мартина "Чистый код". И не в контроллере, а в методе. И это следствие другой мысли "один метод = одно действие". И это не правило, а рекомендация пересмотреть свой код. И вообще, пацык с картинки читает только книги, которые написал сам. Цитата Правильнее вынести всё в модель. Правильнее вынести в сервис под толстый-толстый слой абстракции Цитата Зачем такой страшный код в модели А че там? COUNT без джоинов в MyISAM отработает быстрее, чем в InnoDB, так что все норм. Странно, что вы выбрали именно этот запрос, т.е. остальное вас вообще не смущает? Цитата простота движка которая позволяет даже не смотреть в документацию. Это да. Документации ж нет, то и смотреть никуда не приходится. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... EVMedvedev Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 (изменено) В 22.07.2017 в 10:44, koras сказал: Наверное моя критика возможно будет неправильной или сугубо личной но всё же. Вопрос к профессионалам движка. Не знаю есть ли здесь те кто принимал участие в написания движка. Вопросы будут в этой теме чтобы не мусорить по другим разделам. 1) Почему толстые контролёры? Максимум должна быть 10 строчек. 2) Почему валидация в контролёрах? Правильнее вынести всё в модель. 3) Зачем такой страшный код в модели $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "address WHERE customer_id = '" . (int)$this->customer->getId() . "'"); Я про count(*). Это то что мне бросилось в в глаза при первом знакомстве, дальше будет больше. Это стандартные дефекты архитектуры кода опенкарт. Избавиться от них разработчики смогут не скоро да и то, если перепишут его на чем то вроде ZF или Symfony, где валидация и конструирование форм вынесено в отдельные классы и в сервисы, где основной функционал контроллеров вынесен соответствующие базовые классы и т.д. и т.п., то есть действительно активно используются большинство паттернов ООП. Так что, если интересует ОС, придется с этим смириться. Изменено 31 июля 2017 пользователем EVMedvedev Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... EVMedvedev Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 В 22.07.2017 в 11:23, Yoda сказал: twig только с версии 3.0 и сыроват! Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 8 часов назад, EVMedvedev сказал: Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Имелось наверно ввиду что не было его кеширования Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ssd Опубликовано: 2 августа 2017 Поделиться Опубликовано: 2 августа 2017 Здравствуйте! скажите пожалуйста как сделать сложение суммы от разных опций? к примеру. Продаю теплицу, она 4 метра и 6 метров. Клиент покупает 4 метра и выбирает установку, установка плюсует к стоимости теплицы 2000 т.р, а если клиент выберет 6 метровую теплицу установка должна подорожать на 1300 рублей. Подскажите пожалуйста как это сделать? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Opencart 3.x Opencart 3.x: Общие вопросы Первое знакомство
pantagruel964 Опубликовано: 24 июля 2017 Поделиться Опубликовано: 24 июля 2017 В 7/22/2017 в 10:44, koras сказал: Максимум должна быть 10 строчек. Откуда вы это взяли? Похоже и сами не понимаете.. Единственное обоснованное упоминание про ограничение в N строк встречается в остросюжетном рассказе Роберта Мартина "Чистый код". И не в контроллере, а в методе. И это следствие другой мысли "один метод = одно действие". И это не правило, а рекомендация пересмотреть свой код. И вообще, пацык с картинки читает только книги, которые написал сам. Цитата Правильнее вынести всё в модель. Правильнее вынести в сервис под толстый-толстый слой абстракции Цитата Зачем такой страшный код в модели А че там? COUNT без джоинов в MyISAM отработает быстрее, чем в InnoDB, так что все норм. Странно, что вы выбрали именно этот запрос, т.е. остальное вас вообще не смущает? Цитата простота движка которая позволяет даже не смотреть в документацию. Это да. Документации ж нет, то и смотреть никуда не приходится. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... EVMedvedev Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 (изменено) В 22.07.2017 в 10:44, koras сказал: Наверное моя критика возможно будет неправильной или сугубо личной но всё же. Вопрос к профессионалам движка. Не знаю есть ли здесь те кто принимал участие в написания движка. Вопросы будут в этой теме чтобы не мусорить по другим разделам. 1) Почему толстые контролёры? Максимум должна быть 10 строчек. 2) Почему валидация в контролёрах? Правильнее вынести всё в модель. 3) Зачем такой страшный код в модели $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "address WHERE customer_id = '" . (int)$this->customer->getId() . "'"); Я про count(*). Это то что мне бросилось в в глаза при первом знакомстве, дальше будет больше. Это стандартные дефекты архитектуры кода опенкарт. Избавиться от них разработчики смогут не скоро да и то, если перепишут его на чем то вроде ZF или Symfony, где валидация и конструирование форм вынесено в отдельные классы и в сервисы, где основной функционал контроллеров вынесен соответствующие базовые классы и т.д. и т.п., то есть действительно активно используются большинство паттернов ООП. Так что, если интересует ОС, придется с этим смириться. Изменено 31 июля 2017 пользователем EVMedvedev Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... EVMedvedev Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 В 22.07.2017 в 11:23, Yoda сказал: twig только с версии 3.0 и сыроват! Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 8 часов назад, EVMedvedev сказал: Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Имелось наверно ввиду что не было его кеширования Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ssd Опубликовано: 2 августа 2017 Поделиться Опубликовано: 2 августа 2017 Здравствуйте! скажите пожалуйста как сделать сложение суммы от разных опций? к примеру. Продаю теплицу, она 4 метра и 6 метров. Клиент покупает 4 метра и выбирает установку, установка плюсует к стоимости теплицы 2000 т.р, а если клиент выберет 6 метровую теплицу установка должна подорожать на 1300 рублей. Подскажите пожалуйста как это сделать? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу.
EVMedvedev Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 (изменено) В 22.07.2017 в 10:44, koras сказал: Наверное моя критика возможно будет неправильной или сугубо личной но всё же. Вопрос к профессионалам движка. Не знаю есть ли здесь те кто принимал участие в написания движка. Вопросы будут в этой теме чтобы не мусорить по другим разделам. 1) Почему толстые контролёры? Максимум должна быть 10 строчек. 2) Почему валидация в контролёрах? Правильнее вынести всё в модель. 3) Зачем такой страшный код в модели $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "address WHERE customer_id = '" . (int)$this->customer->getId() . "'"); Я про count(*). Это то что мне бросилось в в глаза при первом знакомстве, дальше будет больше. Это стандартные дефекты архитектуры кода опенкарт. Избавиться от них разработчики смогут не скоро да и то, если перепишут его на чем то вроде ZF или Symfony, где валидация и конструирование форм вынесено в отдельные классы и в сервисы, где основной функционал контроллеров вынесен соответствующие базовые классы и т.д. и т.п., то есть действительно активно используются большинство паттернов ООП. Так что, если интересует ОС, придется с этим смириться. Изменено 31 июля 2017 пользователем EVMedvedev Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
EVMedvedev Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 В 22.07.2017 в 11:23, Yoda сказал: twig только с версии 3.0 и сыроват! Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
markimax Опубликовано: 31 июля 2017 Поделиться Опубликовано: 31 июля 2017 8 часов назад, EVMedvedev сказал: Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Имелось наверно ввиду что не было его кеширования Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... ssd Опубликовано: 2 августа 2017 Поделиться Опубликовано: 2 августа 2017 Здравствуйте! скажите пожалуйста как сделать сложение суммы от разных опций? к примеру. Продаю теплицу, она 4 метра и 6 метров. Клиент покупает 4 метра и выбирает установку, установка плюсует к стоимости теплицы 2000 т.р, а если клиент выберет 6 метровую теплицу установка должна подорожать на 1300 рублей. Подскажите пожалуйста как это сделать? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0
ssd Опубликовано: 2 августа 2017 Поделиться Опубликовано: 2 августа 2017 Здравствуйте! скажите пожалуйста как сделать сложение суммы от разных опций? к примеру. Продаю теплицу, она 4 метра и 6 метров. Клиент покупает 4 метра и выбирает установку, установка плюсует к стоимости теплицы 2000 т.р, а если клиент выберет 6 метровую теплицу установка должна подорожать на 1300 рублей. Подскажите пожалуйста как это сделать? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Рекомендованные сообщения