koras Опубліковано: 22 липня 2017 Share Опубліковано: 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 Надіслати Поділитися на інших сайтах More sharing options... delphiworld Опубліковано: 22 липня 2017 Share Опубліковано: 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 не является первичным ключем Надіслати Поділитися на інших сайтах More sharing options... koras Опубліковано: 22 липня 2017 Автор Share Опубліковано: 22 липня 2017 Почему вы решили обратить свой взор именно на опенкарт? Работа такая. Моя критика конструктивная. Конечно есть и приятные стороны, тот же twig, mvc, простота движка которая позволяет даже не смотреть в документацию. Надіслати Поділитися на інших сайтах More sharing options... kJlukOo Опубліковано: 22 липня 2017 Share Опубліковано: 22 липня 2017 1. 10 строк контроллер? 2. ей там место. следуя концепции мвц. вся логика работы находится в контоллере. запросы к базе в модельке находятся 3. чтоооо ?? в моделе голые запросы к бд находятся. 1 Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 22 липня 2017 Share Опубліковано: 22 липня 2017 5 минут назад, koras сказал: Почему вы решили обратить свой взор именно на опенкарт? Моя критика конструктивная. он вас внимательно выслушет смотрите как сосредоточился )) 2 Надіслати Поділитися на інших сайтах More sharing options... koras Опубліковано: 22 липня 2017 Автор Share Опубліковано: 22 липня 2017 1) Если вы будете писать какой нить REST, я думаю Вы своё мнение поменяете, когда перепишите все контролёры, перенеся весь код в сервисный слой. 2) Модели можно дёргать с разных экшенов, при этом там же и валидировать данные. 3) Даже не хочу комментировать. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 22 липня 2017 Share Опубліковано: 22 липня 2017 10 минут назад, koras сказал: Почему вы решили обратить свой взор именно на опенкарт? Работа такая. Моя критика конструктивная. Конечно есть и приятные стороны, тот же twig, mvc, простота движка которая позволяет даже не смотреть в документацию. Работа вопросы задавать тупые ? В каком месте? twig только с версии 3.0 и сыроват! Если вдруг в гугле забанили "по работе" - разработчики Opencart живут тут: https://github.com/opencart/opencart 1 Надіслати Поділитися на інших сайтах More sharing options... shoputils Опубліковано: 22 липня 2017 Share Опубліковано: 22 липня 2017 korax, эти вопросы задайте парню с красивым фото в сообщении Он любит такие вопросы. А на особо интересные даже иногда отвечает на русском языке (правда коротко, зато ясно). 1 Надіслати Поділитися на інших сайтах More sharing options... FishOnPHP Опубліковано: 23 липня 2017 Share Опубліковано: 23 липня 2017 1. 10 строчек контроллер ? Вы видимо одностраничники с помощью модели MVC пишите) 2. А где ей быть ? В модели серьезно ? Почитайте о структуре и принципах работы MVC, может сразу и view в модель переместим, да ? 3. Видимо такой запрос требуется, хотя по большей части согласен можно было и лаконичнее, но в остальном вы жестко не правы, такое ощущение что первый раз с MVC встретились. У меня все. 1 Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 23 липня 2017 Share Опубліковано: 23 липня 2017 22 часа назад, koras сказал: Почему контролёры? у меня стазу такой вопрос когда учился преподавала такая мразь которая ни черта не понимала и называла контроллеры (аппаратные составляющие ПК) контролёрами, походу вот они плоды такого образования 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 23 липня 2017 Share Опубліковано: 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(); } Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 липня 2017 Share Опубліковано: 24 липня 2017 В 7/22/2017 в 10:44, koras сказал: Максимум должна быть 10 строчек. Откуда вы это взяли? Похоже и сами не понимаете.. Единственное обоснованное упоминание про ограничение в N строк встречается в остросюжетном рассказе Роберта Мартина "Чистый код". И не в контроллере, а в методе. И это следствие другой мысли "один метод = одно действие". И это не правило, а рекомендация пересмотреть свой код. И вообще, пацык с картинки читает только книги, которые написал сам. Цитата Правильнее вынести всё в модель. Правильнее вынести в сервис под толстый-толстый слой абстракции Цитата Зачем такой страшный код в модели А че там? COUNT без джоинов в MyISAM отработает быстрее, чем в InnoDB, так что все норм. Странно, что вы выбрали именно этот запрос, т.е. остальное вас вообще не смущает? Цитата простота движка которая позволяет даже не смотреть в документацию. Это да. Документации ж нет, то и смотреть никуда не приходится. Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 31 липня 2017 Share Опубліковано: 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 Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 31 липня 2017 Share Опубліковано: 31 липня 2017 В 22.07.2017 в 11:23, Yoda сказал: twig только с версии 3.0 и сыроват! Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 31 липня 2017 Share Опубліковано: 31 липня 2017 8 часов назад, EVMedvedev сказал: Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Имелось наверно ввиду что не было его кеширования Надіслати Поділитися на інших сайтах More sharing options... ssd Опубліковано: 2 серпня 2017 Share Опубліковано: 2 серпня 2017 Здравствуйте! скажите пожалуйста как сделать сложение суммы от разных опций? к примеру. Продаю теплицу, она 4 метра и 6 метров. Клиент покупает 4 метра и выбирает установку, установка плюсует к стоимости теплицы 2000 т.р, а если клиент выберет 6 метровую теплицу установка должна подорожать на 1300 рублей. Подскажите пожалуйста как это сделать? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Загальні питання Первое знакомство Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
delphiworld Опубліковано: 22 липня 2017 Share Опубліковано: 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 не является первичным ключем Надіслати Поділитися на інших сайтах More sharing options... koras Опубліковано: 22 липня 2017 Автор Share Опубліковано: 22 липня 2017 Почему вы решили обратить свой взор именно на опенкарт? Работа такая. Моя критика конструктивная. Конечно есть и приятные стороны, тот же twig, mvc, простота движка которая позволяет даже не смотреть в документацию. Надіслати Поділитися на інших сайтах More sharing options... kJlukOo Опубліковано: 22 липня 2017 Share Опубліковано: 22 липня 2017 1. 10 строк контроллер? 2. ей там место. следуя концепции мвц. вся логика работы находится в контоллере. запросы к базе в модельке находятся 3. чтоооо ?? в моделе голые запросы к бд находятся. 1 Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 22 липня 2017 Share Опубліковано: 22 липня 2017 5 минут назад, koras сказал: Почему вы решили обратить свой взор именно на опенкарт? Моя критика конструктивная. он вас внимательно выслушет смотрите как сосредоточился )) 2 Надіслати Поділитися на інших сайтах More sharing options... koras Опубліковано: 22 липня 2017 Автор Share Опубліковано: 22 липня 2017 1) Если вы будете писать какой нить REST, я думаю Вы своё мнение поменяете, когда перепишите все контролёры, перенеся весь код в сервисный слой. 2) Модели можно дёргать с разных экшенов, при этом там же и валидировать данные. 3) Даже не хочу комментировать. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 22 липня 2017 Share Опубліковано: 22 липня 2017 10 минут назад, koras сказал: Почему вы решили обратить свой взор именно на опенкарт? Работа такая. Моя критика конструктивная. Конечно есть и приятные стороны, тот же twig, mvc, простота движка которая позволяет даже не смотреть в документацию. Работа вопросы задавать тупые ? В каком месте? twig только с версии 3.0 и сыроват! Если вдруг в гугле забанили "по работе" - разработчики Opencart живут тут: https://github.com/opencart/opencart 1 Надіслати Поділитися на інших сайтах More sharing options... shoputils Опубліковано: 22 липня 2017 Share Опубліковано: 22 липня 2017 korax, эти вопросы задайте парню с красивым фото в сообщении Он любит такие вопросы. А на особо интересные даже иногда отвечает на русском языке (правда коротко, зато ясно). 1 Надіслати Поділитися на інших сайтах More sharing options... FishOnPHP Опубліковано: 23 липня 2017 Share Опубліковано: 23 липня 2017 1. 10 строчек контроллер ? Вы видимо одностраничники с помощью модели MVC пишите) 2. А где ей быть ? В модели серьезно ? Почитайте о структуре и принципах работы MVC, может сразу и view в модель переместим, да ? 3. Видимо такой запрос требуется, хотя по большей части согласен можно было и лаконичнее, но в остальном вы жестко не правы, такое ощущение что первый раз с MVC встретились. У меня все. 1 Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 23 липня 2017 Share Опубліковано: 23 липня 2017 22 часа назад, koras сказал: Почему контролёры? у меня стазу такой вопрос когда учился преподавала такая мразь которая ни черта не понимала и называла контроллеры (аппаратные составляющие ПК) контролёрами, походу вот они плоды такого образования 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 23 липня 2017 Share Опубліковано: 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(); } Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 липня 2017 Share Опубліковано: 24 липня 2017 В 7/22/2017 в 10:44, koras сказал: Максимум должна быть 10 строчек. Откуда вы это взяли? Похоже и сами не понимаете.. Единственное обоснованное упоминание про ограничение в N строк встречается в остросюжетном рассказе Роберта Мартина "Чистый код". И не в контроллере, а в методе. И это следствие другой мысли "один метод = одно действие". И это не правило, а рекомендация пересмотреть свой код. И вообще, пацык с картинки читает только книги, которые написал сам. Цитата Правильнее вынести всё в модель. Правильнее вынести в сервис под толстый-толстый слой абстракции Цитата Зачем такой страшный код в модели А че там? COUNT без джоинов в MyISAM отработает быстрее, чем в InnoDB, так что все норм. Странно, что вы выбрали именно этот запрос, т.е. остальное вас вообще не смущает? Цитата простота движка которая позволяет даже не смотреть в документацию. Это да. Документации ж нет, то и смотреть никуда не приходится. Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 31 липня 2017 Share Опубліковано: 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 Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 31 липня 2017 Share Опубліковано: 31 липня 2017 В 22.07.2017 в 11:23, Yoda сказал: twig только с версии 3.0 и сыроват! Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 31 липня 2017 Share Опубліковано: 31 липня 2017 8 часов назад, EVMedvedev сказал: Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Имелось наверно ввиду что не было его кеширования Надіслати Поділитися на інших сайтах More sharing options... ssd Опубліковано: 2 серпня 2017 Share Опубліковано: 2 серпня 2017 Здравствуйте! скажите пожалуйста как сделать сложение суммы от разных опций? к примеру. Продаю теплицу, она 4 метра и 6 метров. Клиент покупает 4 метра и выбирает установку, установка плюсует к стоимости теплицы 2000 т.р, а если клиент выберет 6 метровую теплицу установка должна подорожать на 1300 рублей. Подскажите пожалуйста как это сделать? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Загальні питання Первое знакомство Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
koras Опубліковано: 22 липня 2017 Автор Share Опубліковано: 22 липня 2017 Почему вы решили обратить свой взор именно на опенкарт? Работа такая. Моя критика конструктивная. Конечно есть и приятные стороны, тот же twig, mvc, простота движка которая позволяет даже не смотреть в документацию. Надіслати Поділитися на інших сайтах More sharing options... kJlukOo Опубліковано: 22 липня 2017 Share Опубліковано: 22 липня 2017 1. 10 строк контроллер? 2. ей там место. следуя концепции мвц. вся логика работы находится в контоллере. запросы к базе в модельке находятся 3. чтоооо ?? в моделе голые запросы к бд находятся. 1 Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 22 липня 2017 Share Опубліковано: 22 липня 2017 5 минут назад, koras сказал: Почему вы решили обратить свой взор именно на опенкарт? Моя критика конструктивная. он вас внимательно выслушет смотрите как сосредоточился )) 2 Надіслати Поділитися на інших сайтах More sharing options... koras Опубліковано: 22 липня 2017 Автор Share Опубліковано: 22 липня 2017 1) Если вы будете писать какой нить REST, я думаю Вы своё мнение поменяете, когда перепишите все контролёры, перенеся весь код в сервисный слой. 2) Модели можно дёргать с разных экшенов, при этом там же и валидировать данные. 3) Даже не хочу комментировать. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 22 липня 2017 Share Опубліковано: 22 липня 2017 10 минут назад, koras сказал: Почему вы решили обратить свой взор именно на опенкарт? Работа такая. Моя критика конструктивная. Конечно есть и приятные стороны, тот же twig, mvc, простота движка которая позволяет даже не смотреть в документацию. Работа вопросы задавать тупые ? В каком месте? twig только с версии 3.0 и сыроват! Если вдруг в гугле забанили "по работе" - разработчики Opencart живут тут: https://github.com/opencart/opencart 1 Надіслати Поділитися на інших сайтах More sharing options... shoputils Опубліковано: 22 липня 2017 Share Опубліковано: 22 липня 2017 korax, эти вопросы задайте парню с красивым фото в сообщении Он любит такие вопросы. А на особо интересные даже иногда отвечает на русском языке (правда коротко, зато ясно). 1 Надіслати Поділитися на інших сайтах More sharing options... FishOnPHP Опубліковано: 23 липня 2017 Share Опубліковано: 23 липня 2017 1. 10 строчек контроллер ? Вы видимо одностраничники с помощью модели MVC пишите) 2. А где ей быть ? В модели серьезно ? Почитайте о структуре и принципах работы MVC, может сразу и view в модель переместим, да ? 3. Видимо такой запрос требуется, хотя по большей части согласен можно было и лаконичнее, но в остальном вы жестко не правы, такое ощущение что первый раз с MVC встретились. У меня все. 1 Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 23 липня 2017 Share Опубліковано: 23 липня 2017 22 часа назад, koras сказал: Почему контролёры? у меня стазу такой вопрос когда учился преподавала такая мразь которая ни черта не понимала и называла контроллеры (аппаратные составляющие ПК) контролёрами, походу вот они плоды такого образования 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 23 липня 2017 Share Опубліковано: 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(); } Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 липня 2017 Share Опубліковано: 24 липня 2017 В 7/22/2017 в 10:44, koras сказал: Максимум должна быть 10 строчек. Откуда вы это взяли? Похоже и сами не понимаете.. Единственное обоснованное упоминание про ограничение в N строк встречается в остросюжетном рассказе Роберта Мартина "Чистый код". И не в контроллере, а в методе. И это следствие другой мысли "один метод = одно действие". И это не правило, а рекомендация пересмотреть свой код. И вообще, пацык с картинки читает только книги, которые написал сам. Цитата Правильнее вынести всё в модель. Правильнее вынести в сервис под толстый-толстый слой абстракции Цитата Зачем такой страшный код в модели А че там? COUNT без джоинов в MyISAM отработает быстрее, чем в InnoDB, так что все норм. Странно, что вы выбрали именно этот запрос, т.е. остальное вас вообще не смущает? Цитата простота движка которая позволяет даже не смотреть в документацию. Это да. Документации ж нет, то и смотреть никуда не приходится. Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 31 липня 2017 Share Опубліковано: 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 Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 31 липня 2017 Share Опубліковано: 31 липня 2017 В 22.07.2017 в 11:23, Yoda сказал: twig только с версии 3.0 и сыроват! Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 31 липня 2017 Share Опубліковано: 31 липня 2017 8 часов назад, EVMedvedev сказал: Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Имелось наверно ввиду что не было его кеширования Надіслати Поділитися на інших сайтах More sharing options... ssd Опубліковано: 2 серпня 2017 Share Опубліковано: 2 серпня 2017 Здравствуйте! скажите пожалуйста как сделать сложение суммы от разных опций? к примеру. Продаю теплицу, она 4 метра и 6 метров. Клиент покупает 4 метра и выбирает установку, установка плюсует к стоимости теплицы 2000 т.р, а если клиент выберет 6 метровую теплицу установка должна подорожать на 1300 рублей. Подскажите пожалуйста как это сделать? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Загальні питання Первое знакомство Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
kJlukOo Опубліковано: 22 липня 2017 Share Опубліковано: 22 липня 2017 1. 10 строк контроллер? 2. ей там место. следуя концепции мвц. вся логика работы находится в контоллере. запросы к базе в модельке находятся 3. чтоооо ?? в моделе голые запросы к бд находятся. 1 Надіслати Поділитися на інших сайтах More sharing options... HyperLabTeam Опубліковано: 22 липня 2017 Share Опубліковано: 22 липня 2017 5 минут назад, koras сказал: Почему вы решили обратить свой взор именно на опенкарт? Моя критика конструктивная. он вас внимательно выслушет смотрите как сосредоточился )) 2 Надіслати Поділитися на інших сайтах More sharing options... koras Опубліковано: 22 липня 2017 Автор Share Опубліковано: 22 липня 2017 1) Если вы будете писать какой нить REST, я думаю Вы своё мнение поменяете, когда перепишите все контролёры, перенеся весь код в сервисный слой. 2) Модели можно дёргать с разных экшенов, при этом там же и валидировать данные. 3) Даже не хочу комментировать. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 22 липня 2017 Share Опубліковано: 22 липня 2017 10 минут назад, koras сказал: Почему вы решили обратить свой взор именно на опенкарт? Работа такая. Моя критика конструктивная. Конечно есть и приятные стороны, тот же twig, mvc, простота движка которая позволяет даже не смотреть в документацию. Работа вопросы задавать тупые ? В каком месте? twig только с версии 3.0 и сыроват! Если вдруг в гугле забанили "по работе" - разработчики Opencart живут тут: https://github.com/opencart/opencart 1 Надіслати Поділитися на інших сайтах More sharing options... shoputils Опубліковано: 22 липня 2017 Share Опубліковано: 22 липня 2017 korax, эти вопросы задайте парню с красивым фото в сообщении Он любит такие вопросы. А на особо интересные даже иногда отвечает на русском языке (правда коротко, зато ясно). 1 Надіслати Поділитися на інших сайтах More sharing options... FishOnPHP Опубліковано: 23 липня 2017 Share Опубліковано: 23 липня 2017 1. 10 строчек контроллер ? Вы видимо одностраничники с помощью модели MVC пишите) 2. А где ей быть ? В модели серьезно ? Почитайте о структуре и принципах работы MVC, может сразу и view в модель переместим, да ? 3. Видимо такой запрос требуется, хотя по большей части согласен можно было и лаконичнее, но в остальном вы жестко не правы, такое ощущение что первый раз с MVC встретились. У меня все. 1 Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 23 липня 2017 Share Опубліковано: 23 липня 2017 22 часа назад, koras сказал: Почему контролёры? у меня стазу такой вопрос когда учился преподавала такая мразь которая ни черта не понимала и называла контроллеры (аппаратные составляющие ПК) контролёрами, походу вот они плоды такого образования 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 23 липня 2017 Share Опубліковано: 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(); } Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 липня 2017 Share Опубліковано: 24 липня 2017 В 7/22/2017 в 10:44, koras сказал: Максимум должна быть 10 строчек. Откуда вы это взяли? Похоже и сами не понимаете.. Единственное обоснованное упоминание про ограничение в N строк встречается в остросюжетном рассказе Роберта Мартина "Чистый код". И не в контроллере, а в методе. И это следствие другой мысли "один метод = одно действие". И это не правило, а рекомендация пересмотреть свой код. И вообще, пацык с картинки читает только книги, которые написал сам. Цитата Правильнее вынести всё в модель. Правильнее вынести в сервис под толстый-толстый слой абстракции Цитата Зачем такой страшный код в модели А че там? COUNT без джоинов в MyISAM отработает быстрее, чем в InnoDB, так что все норм. Странно, что вы выбрали именно этот запрос, т.е. остальное вас вообще не смущает? Цитата простота движка которая позволяет даже не смотреть в документацию. Это да. Документации ж нет, то и смотреть никуда не приходится. Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 31 липня 2017 Share Опубліковано: 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 Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 31 липня 2017 Share Опубліковано: 31 липня 2017 В 22.07.2017 в 11:23, Yoda сказал: twig только с версии 3.0 и сыроват! Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 31 липня 2017 Share Опубліковано: 31 липня 2017 8 часов назад, EVMedvedev сказал: Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Имелось наверно ввиду что не было его кеширования Надіслати Поділитися на інших сайтах More sharing options... ssd Опубліковано: 2 серпня 2017 Share Опубліковано: 2 серпня 2017 Здравствуйте! скажите пожалуйста как сделать сложение суммы от разных опций? к примеру. Продаю теплицу, она 4 метра и 6 метров. Клиент покупает 4 метра и выбирает установку, установка плюсует к стоимости теплицы 2000 т.р, а если клиент выберет 6 метровую теплицу установка должна подорожать на 1300 рублей. Подскажите пожалуйста как это сделать? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Загальні питання Первое знакомство Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
HyperLabTeam Опубліковано: 22 липня 2017 Share Опубліковано: 22 липня 2017 5 минут назад, koras сказал: Почему вы решили обратить свой взор именно на опенкарт? Моя критика конструктивная. он вас внимательно выслушет смотрите как сосредоточился )) 2 Надіслати Поділитися на інших сайтах More sharing options...
koras Опубліковано: 22 липня 2017 Автор Share Опубліковано: 22 липня 2017 1) Если вы будете писать какой нить REST, я думаю Вы своё мнение поменяете, когда перепишите все контролёры, перенеся весь код в сервисный слой. 2) Модели можно дёргать с разных экшенов, при этом там же и валидировать данные. 3) Даже не хочу комментировать. Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 22 липня 2017 Share Опубліковано: 22 липня 2017 10 минут назад, koras сказал: Почему вы решили обратить свой взор именно на опенкарт? Работа такая. Моя критика конструктивная. Конечно есть и приятные стороны, тот же twig, mvc, простота движка которая позволяет даже не смотреть в документацию. Работа вопросы задавать тупые ? В каком месте? twig только с версии 3.0 и сыроват! Если вдруг в гугле забанили "по работе" - разработчики Opencart живут тут: https://github.com/opencart/opencart 1 Надіслати Поділитися на інших сайтах More sharing options... shoputils Опубліковано: 22 липня 2017 Share Опубліковано: 22 липня 2017 korax, эти вопросы задайте парню с красивым фото в сообщении Он любит такие вопросы. А на особо интересные даже иногда отвечает на русском языке (правда коротко, зато ясно). 1 Надіслати Поділитися на інших сайтах More sharing options... FishOnPHP Опубліковано: 23 липня 2017 Share Опубліковано: 23 липня 2017 1. 10 строчек контроллер ? Вы видимо одностраничники с помощью модели MVC пишите) 2. А где ей быть ? В модели серьезно ? Почитайте о структуре и принципах работы MVC, может сразу и view в модель переместим, да ? 3. Видимо такой запрос требуется, хотя по большей части согласен можно было и лаконичнее, но в остальном вы жестко не правы, такое ощущение что первый раз с MVC встретились. У меня все. 1 Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 23 липня 2017 Share Опубліковано: 23 липня 2017 22 часа назад, koras сказал: Почему контролёры? у меня стазу такой вопрос когда учился преподавала такая мразь которая ни черта не понимала и называла контроллеры (аппаратные составляющие ПК) контролёрами, походу вот они плоды такого образования 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 23 липня 2017 Share Опубліковано: 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(); } Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 липня 2017 Share Опубліковано: 24 липня 2017 В 7/22/2017 в 10:44, koras сказал: Максимум должна быть 10 строчек. Откуда вы это взяли? Похоже и сами не понимаете.. Единственное обоснованное упоминание про ограничение в N строк встречается в остросюжетном рассказе Роберта Мартина "Чистый код". И не в контроллере, а в методе. И это следствие другой мысли "один метод = одно действие". И это не правило, а рекомендация пересмотреть свой код. И вообще, пацык с картинки читает только книги, которые написал сам. Цитата Правильнее вынести всё в модель. Правильнее вынести в сервис под толстый-толстый слой абстракции Цитата Зачем такой страшный код в модели А че там? COUNT без джоинов в MyISAM отработает быстрее, чем в InnoDB, так что все норм. Странно, что вы выбрали именно этот запрос, т.е. остальное вас вообще не смущает? Цитата простота движка которая позволяет даже не смотреть в документацию. Это да. Документации ж нет, то и смотреть никуда не приходится. Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 31 липня 2017 Share Опубліковано: 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 Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 31 липня 2017 Share Опубліковано: 31 липня 2017 В 22.07.2017 в 11:23, Yoda сказал: twig только с версии 3.0 и сыроват! Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 31 липня 2017 Share Опубліковано: 31 липня 2017 8 часов назад, EVMedvedev сказал: Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Имелось наверно ввиду что не было его кеширования Надіслати Поділитися на інших сайтах More sharing options... ssd Опубліковано: 2 серпня 2017 Share Опубліковано: 2 серпня 2017 Здравствуйте! скажите пожалуйста как сделать сложение суммы от разных опций? к примеру. Продаю теплицу, она 4 метра и 6 метров. Клиент покупает 4 метра и выбирает установку, установка плюсует к стоимости теплицы 2000 т.р, а если клиент выберет 6 метровую теплицу установка должна подорожать на 1300 рублей. Подскажите пожалуйста как это сделать? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Загальні питання Первое знакомство Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Yoda Опубліковано: 22 липня 2017 Share Опубліковано: 22 липня 2017 10 минут назад, koras сказал: Почему вы решили обратить свой взор именно на опенкарт? Работа такая. Моя критика конструктивная. Конечно есть и приятные стороны, тот же twig, mvc, простота движка которая позволяет даже не смотреть в документацию. Работа вопросы задавать тупые ? В каком месте? twig только с версии 3.0 и сыроват! Если вдруг в гугле забанили "по работе" - разработчики Opencart живут тут: https://github.com/opencart/opencart 1 Надіслати Поділитися на інших сайтах More sharing options...
shoputils Опубліковано: 22 липня 2017 Share Опубліковано: 22 липня 2017 korax, эти вопросы задайте парню с красивым фото в сообщении Он любит такие вопросы. А на особо интересные даже иногда отвечает на русском языке (правда коротко, зато ясно). 1 Надіслати Поділитися на інших сайтах More sharing options... FishOnPHP Опубліковано: 23 липня 2017 Share Опубліковано: 23 липня 2017 1. 10 строчек контроллер ? Вы видимо одностраничники с помощью модели MVC пишите) 2. А где ей быть ? В модели серьезно ? Почитайте о структуре и принципах работы MVC, может сразу и view в модель переместим, да ? 3. Видимо такой запрос требуется, хотя по большей части согласен можно было и лаконичнее, но в остальном вы жестко не правы, такое ощущение что первый раз с MVC встретились. У меня все. 1 Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 23 липня 2017 Share Опубліковано: 23 липня 2017 22 часа назад, koras сказал: Почему контролёры? у меня стазу такой вопрос когда учился преподавала такая мразь которая ни черта не понимала и называла контроллеры (аппаратные составляющие ПК) контролёрами, походу вот они плоды такого образования 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 23 липня 2017 Share Опубліковано: 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(); } Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 липня 2017 Share Опубліковано: 24 липня 2017 В 7/22/2017 в 10:44, koras сказал: Максимум должна быть 10 строчек. Откуда вы это взяли? Похоже и сами не понимаете.. Единственное обоснованное упоминание про ограничение в N строк встречается в остросюжетном рассказе Роберта Мартина "Чистый код". И не в контроллере, а в методе. И это следствие другой мысли "один метод = одно действие". И это не правило, а рекомендация пересмотреть свой код. И вообще, пацык с картинки читает только книги, которые написал сам. Цитата Правильнее вынести всё в модель. Правильнее вынести в сервис под толстый-толстый слой абстракции Цитата Зачем такой страшный код в модели А че там? COUNT без джоинов в MyISAM отработает быстрее, чем в InnoDB, так что все норм. Странно, что вы выбрали именно этот запрос, т.е. остальное вас вообще не смущает? Цитата простота движка которая позволяет даже не смотреть в документацию. Это да. Документации ж нет, то и смотреть никуда не приходится. Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 31 липня 2017 Share Опубліковано: 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 Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 31 липня 2017 Share Опубліковано: 31 липня 2017 В 22.07.2017 в 11:23, Yoda сказал: twig только с версии 3.0 и сыроват! Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 31 липня 2017 Share Опубліковано: 31 липня 2017 8 часов назад, EVMedvedev сказал: Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Имелось наверно ввиду что не было его кеширования Надіслати Поділитися на інших сайтах More sharing options... ssd Опубліковано: 2 серпня 2017 Share Опубліковано: 2 серпня 2017 Здравствуйте! скажите пожалуйста как сделать сложение суммы от разных опций? к примеру. Продаю теплицу, она 4 метра и 6 метров. Клиент покупает 4 метра и выбирает установку, установка плюсует к стоимости теплицы 2000 т.р, а если клиент выберет 6 метровую теплицу установка должна подорожать на 1300 рублей. Подскажите пожалуйста как это сделать? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Загальні питання Первое знакомство Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
FishOnPHP Опубліковано: 23 липня 2017 Share Опубліковано: 23 липня 2017 1. 10 строчек контроллер ? Вы видимо одностраничники с помощью модели MVC пишите) 2. А где ей быть ? В модели серьезно ? Почитайте о структуре и принципах работы MVC, может сразу и view в модель переместим, да ? 3. Видимо такой запрос требуется, хотя по большей части согласен можно было и лаконичнее, но в остальном вы жестко не правы, такое ощущение что первый раз с MVC встретились. У меня все. 1 Надіслати Поділитися на інших сайтах More sharing options...
Otvet Опубліковано: 23 липня 2017 Share Опубліковано: 23 липня 2017 22 часа назад, koras сказал: Почему контролёры? у меня стазу такой вопрос когда учился преподавала такая мразь которая ни черта не понимала и называла контроллеры (аппаратные составляющие ПК) контролёрами, походу вот они плоды такого образования 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 23 липня 2017 Share Опубліковано: 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(); } Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 липня 2017 Share Опубліковано: 24 липня 2017 В 7/22/2017 в 10:44, koras сказал: Максимум должна быть 10 строчек. Откуда вы это взяли? Похоже и сами не понимаете.. Единственное обоснованное упоминание про ограничение в N строк встречается в остросюжетном рассказе Роберта Мартина "Чистый код". И не в контроллере, а в методе. И это следствие другой мысли "один метод = одно действие". И это не правило, а рекомендация пересмотреть свой код. И вообще, пацык с картинки читает только книги, которые написал сам. Цитата Правильнее вынести всё в модель. Правильнее вынести в сервис под толстый-толстый слой абстракции Цитата Зачем такой страшный код в модели А че там? COUNT без джоинов в MyISAM отработает быстрее, чем в InnoDB, так что все норм. Странно, что вы выбрали именно этот запрос, т.е. остальное вас вообще не смущает? Цитата простота движка которая позволяет даже не смотреть в документацию. Это да. Документации ж нет, то и смотреть никуда не приходится. Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 31 липня 2017 Share Опубліковано: 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 Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 31 липня 2017 Share Опубліковано: 31 липня 2017 В 22.07.2017 в 11:23, Yoda сказал: twig только с версии 3.0 и сыроват! Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 31 липня 2017 Share Опубліковано: 31 липня 2017 8 часов назад, EVMedvedev сказал: Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Имелось наверно ввиду что не было его кеширования Надіслати Поділитися на інших сайтах More sharing options... ssd Опубліковано: 2 серпня 2017 Share Опубліковано: 2 серпня 2017 Здравствуйте! скажите пожалуйста как сделать сложение суммы от разных опций? к примеру. Продаю теплицу, она 4 метра и 6 метров. Клиент покупает 4 метра и выбирает установку, установка плюсует к стоимости теплицы 2000 т.р, а если клиент выберет 6 метровую теплицу установка должна подорожать на 1300 рублей. Подскажите пожалуйста как это сделать? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Загальні питання Первое знакомство Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
markimax Опубліковано: 23 липня 2017 Share Опубліковано: 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(); } Надіслати Поділитися на інших сайтах More sharing options... pantagruel964 Опубліковано: 24 липня 2017 Share Опубліковано: 24 липня 2017 В 7/22/2017 в 10:44, koras сказал: Максимум должна быть 10 строчек. Откуда вы это взяли? Похоже и сами не понимаете.. Единственное обоснованное упоминание про ограничение в N строк встречается в остросюжетном рассказе Роберта Мартина "Чистый код". И не в контроллере, а в методе. И это следствие другой мысли "один метод = одно действие". И это не правило, а рекомендация пересмотреть свой код. И вообще, пацык с картинки читает только книги, которые написал сам. Цитата Правильнее вынести всё в модель. Правильнее вынести в сервис под толстый-толстый слой абстракции Цитата Зачем такой страшный код в модели А че там? COUNT без джоинов в MyISAM отработает быстрее, чем в InnoDB, так что все норм. Странно, что вы выбрали именно этот запрос, т.е. остальное вас вообще не смущает? Цитата простота движка которая позволяет даже не смотреть в документацию. Это да. Документации ж нет, то и смотреть никуда не приходится. Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 31 липня 2017 Share Опубліковано: 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 Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 31 липня 2017 Share Опубліковано: 31 липня 2017 В 22.07.2017 в 11:23, Yoda сказал: twig только с версии 3.0 и сыроват! Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 31 липня 2017 Share Опубліковано: 31 липня 2017 8 часов назад, EVMedvedev сказал: Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Имелось наверно ввиду что не было его кеширования Надіслати Поділитися на інших сайтах More sharing options... ssd Опубліковано: 2 серпня 2017 Share Опубліковано: 2 серпня 2017 Здравствуйте! скажите пожалуйста как сделать сложение суммы от разных опций? к примеру. Продаю теплицу, она 4 метра и 6 метров. Клиент покупает 4 метра и выбирает установку, установка плюсует к стоимости теплицы 2000 т.р, а если клиент выберет 6 метровую теплицу установка должна подорожать на 1300 рублей. Подскажите пожалуйста как это сделать? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Загальні питання Первое знакомство
pantagruel964 Опубліковано: 24 липня 2017 Share Опубліковано: 24 липня 2017 В 7/22/2017 в 10:44, koras сказал: Максимум должна быть 10 строчек. Откуда вы это взяли? Похоже и сами не понимаете.. Единственное обоснованное упоминание про ограничение в N строк встречается в остросюжетном рассказе Роберта Мартина "Чистый код". И не в контроллере, а в методе. И это следствие другой мысли "один метод = одно действие". И это не правило, а рекомендация пересмотреть свой код. И вообще, пацык с картинки читает только книги, которые написал сам. Цитата Правильнее вынести всё в модель. Правильнее вынести в сервис под толстый-толстый слой абстракции Цитата Зачем такой страшный код в модели А че там? COUNT без джоинов в MyISAM отработает быстрее, чем в InnoDB, так что все норм. Странно, что вы выбрали именно этот запрос, т.е. остальное вас вообще не смущает? Цитата простота движка которая позволяет даже не смотреть в документацию. Это да. Документации ж нет, то и смотреть никуда не приходится. Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 31 липня 2017 Share Опубліковано: 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 Надіслати Поділитися на інших сайтах More sharing options... EVMedvedev Опубліковано: 31 липня 2017 Share Опубліковано: 31 липня 2017 В 22.07.2017 в 11:23, Yoda сказал: twig только с версии 3.0 и сыроват! Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 31 липня 2017 Share Опубліковано: 31 липня 2017 8 часов назад, EVMedvedev сказал: Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Имелось наверно ввиду что не было его кеширования Надіслати Поділитися на інших сайтах More sharing options... ssd Опубліковано: 2 серпня 2017 Share Опубліковано: 2 серпня 2017 Здравствуйте! скажите пожалуйста как сделать сложение суммы от разных опций? к примеру. Продаю теплицу, она 4 метра и 6 метров. Клиент покупает 4 метра и выбирает установку, установка плюсует к стоимости теплицы 2000 т.р, а если клиент выберет 6 метровую теплицу установка должна подорожать на 1300 рублей. Подскажите пожалуйста как это сделать? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
EVMedvedev Опубліковано: 31 липня 2017 Share Опубліковано: 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 Надіслати Поділитися на інших сайтах More sharing options...
EVMedvedev Опубліковано: 31 липня 2017 Share Опубліковано: 31 липня 2017 В 22.07.2017 в 11:23, Yoda сказал: twig только с версии 3.0 и сыроват! Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Надіслати Поділитися на інших сайтах More sharing options...
markimax Опубліковано: 31 липня 2017 Share Опубліковано: 31 липня 2017 8 часов назад, EVMedvedev сказал: Twig не может быть сыроват. Он появился наверно еще до того, как работы над ОС начались :-). Может быть сыровато использование Твига в ОС. Имелось наверно ввиду что не было его кеширования Надіслати Поділитися на інших сайтах More sharing options... ssd Опубліковано: 2 серпня 2017 Share Опубліковано: 2 серпня 2017 Здравствуйте! скажите пожалуйста как сделать сложение суммы от разных опций? к примеру. Продаю теплицу, она 4 метра и 6 метров. Клиент покупает 4 метра и выбирает установку, установка плюсует к стоимости теплицы 2000 т.р, а если клиент выберет 6 метровую теплицу установка должна подорожать на 1300 рублей. Подскажите пожалуйста как это сделать? Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
ssd Опубліковано: 2 серпня 2017 Share Опубліковано: 2 серпня 2017 Здравствуйте! скажите пожалуйста как сделать сложение суммы от разных опций? к примеру. Продаю теплицу, она 4 метра и 6 метров. Клиент покупает 4 метра и выбирает установку, установка плюсует к стоимости теплицы 2000 т.р, а если клиент выберет 6 метровую теплицу установка должна подорожать на 1300 рублей. Подскажите пожалуйста как это сделать? Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts