BorisK Опубліковано: 30 липня 2016 Share Опубліковано: 30 липня 2016 Всем добрый день. Подскажите, в чём может быть проблема. На домене пропадает сайт и висит ошибка, то же самое в админке, при любом действии с модулем seo pro. Появилось после работы программиста и пропали отзывы на сайте. В 62 строке на которую ссылается ошибка имелся код: <?php $occms_version='5.0'; $file = DIR_SYSTEM . 'library/front_loader.php'; $this->registry->set('admin_work', true); if (file_exists($file)) {include_once($file);} $occms_version='5.0'; ?> Parse error: syntax error, unexpected/home.php on line 424 Parse error: syntax error, unexpected/maintenance.php on line 62 Parse error: syntax error, unexpected Надіслати Поділитися на інших сайтах More sharing options...
Dotrox Опубліковано: 30 липня 2016 Share Опубліковано: 30 липня 2016 Прежде всего надо сказать, что эта строка кода довольно гавнокодистая. А второе - почему вы обрезали тексты ошибок? Вы оттуда удалили самое важное как раз. Надіслати Поділитися на інших сайтах More sharing options...
markimax Опубліковано: 31 липня 2016 Share Опубліковано: 31 липня 2016 .. А второе - почему вы обрезали тексты ошибок? Вы оттуда удалили самое важное как раз. И чем же она такая (строка кода)!? Вот просто интересно, когда вы делаете такие громогласные заявления, не зная сути и в про самый обычный код с маркером начала и конца кода Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 31 липня 2016 Share Опубліковано: 31 липня 2016 Всем добрый день.... Да вы модуль пытались купить (сегодня, но liqpay не принял платеж) Так вы решили на варезе скачать и поставить ? Отсюда и ошибка Вы устанавливаете ВАРЕЗНЫЙ модуль Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 31 липня 2016 Share Опубліковано: 31 липня 2016 И чем же она такая (строка кода)!? Вот просто интересно, когда вы делаете такие громогласные заявления, не зная сути и в про самый обычный код с маркером начала и конца кода Если б вы процитировали ту фразу из моего поста, на которую отвечаете, было бы проще понять, что вы говорите :) А по коду: начнём с этого "маркера" - смешно тут вспоминать о DRY, ибо он не о таких глупостях, но единственный смысл такого дублирования я могу предположить только в том, что с этой переменной происходит что-то внутри файла, который инклюдится, а её значение нужно ещё где-то дальше по коду текущего файла. И тут есть сразу два замечания: 1. Если с переменной что-то происходит внутри файла, то и восстановления её значения должно быть завёрнуто в тоже условие, которое подключает файл, иначе получается, что переменная устанавливается дважды одним значением независимо от того, использовалась ли она. 2. Но более важно то, что так вообще не делается! Если значение переменной нужно модифицировать в каком-то локальном скоупе, а затем продолжить использовать оригинальное значение в глобальном скоупе, то в локальном скоупе нужно скопировать значение в локальную переменную и делать с ней что угодно. Если же эта переменная вообще не работает, а только помечает этот блок кода, то это настолько противоречит здравому смыслу, что никто в здравом уме такого даже не предположит. Если есть необходимость пометить блок кода - есть комментарии. Нет необходимости засорять код элементами, которые не являются частью логики работы программы. Следующий пункт: судя по названиям файлов - это контроллеры. Дополнять код контроллеров вставками с php тегами - это уже само по себе, как минимум некрасиво (и нарушает стиль кодинга в ОК), но если эта вставка не в конце файла (а в конце файла нет смысла восстанавливать значение переменной), то эта вставка ещё и режет код контроллера на куски. И напоследок: прямой инклюд файлов в контроллерах противоречит и архитектуре ОК и современным принципам кодинга в целом. 2 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 31 липня 2016 Share Опубліковано: 31 липня 2016 ... И напоследок: прямой инклюд файлов в контроллерах противоречит и архитектуре ОК и современным принципам кодинга в целом. Это шутка такая была, я так понял Поищите поиском "include_once" в файлах opencart хотя бы для начала И вы еще наверно никогда не сталкивались у пользователей когда у них в настройках ftp клиента стоит очистка комментариев в коде (изменение файлов css, html, php и т п ). Я сталкивался и часто Написали полный бред, даже комментировать не буду 1 Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 31 липня 2016 Share Опубліковано: 31 липня 2016 Поищите поиском "include_once" в файлах opencart хотя бы для начала Поискал: https://github.com/opencart/opencart/search?utf8=%E2%9C%93&q=include_once Это как-то противоречит моим словам? Написали полный бред, даже комментировать не буду Действительно, что комментировать, если уже на include_once зафейлились. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 31 липня 2016 Share Опубліковано: 31 липня 2016 Dotrox не стоит!!! Такой кол... т.е. о коментах мы ничего не знаем...То что эти две строки - маркеры - я давно понял. Но !!! кому!! кроме программеров нужно в это влазить... Работает? И... БЕЗ изменения системных файлов!!!!! Какой нах ocmod (vqmod) Марк!!! ... Что есть, то есть.. не утруждайтесь!!! Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 Если же эта переменная вообще не работает, а только помечает этот блок кода, то это настолько противоречит здравому смыслу, что никто в здравом уме такого даже не предположит. Если есть необходимость пометить блок кода - есть комментарии. Нет необходимости засорять код элементами, которые не являются частью логики работы программы. Следующий пункт: судя по названиям файлов - это контроллеры. Дополнять код контроллеров вставками с php тегами - это уже само по себе, как минимум некрасиво (и нарушает стиль кодинга в ОК), но если эта вставка не в конце файла (а в конце файла нет смысла восстанавливать значение переменной), то эта вставка ещё и режет код контроллера на куски. И напоследок: прямой инклюд файлов в контроллерах противоречит и архитектуре ОК и современным принципам кодинга в целом. вы когда-нибудь интересовались защитой php скриптов от нелегального использования? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 Поискал: https://github.com/opencart/opencart/search?utf8=%E2%9C%93&q=include_once Действительно, что комментировать, если уже на include_once зафейлились. Ваши слова ? И напоследок: прямой инклюд файлов в контроллерах противоречит и архитектуре ОК и современным принципам кодинга в целом. opencart все основное грузит через include_once /engine Вопросы еще будут по include_once в opencart ? Признать свои ошибочные слова слабо видно Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 opencart все основное грузит через include_once /engine Вопросы еще будут по include_once в opencart ? Признать свои ошибочные слова слабо видно Да уж, надеюсь, код вы пишите внимательней, чем читаете сообщения, на которые отвечаете. Что во фразе "прямой инклюд файлов в контроллерах" вам непонятно? Или вы не знаете, где в ОК контроллеры? Разве я что-то говорил о том, что инклюд как таковой - это плохо? Ну а по ссылке отлично видно, что на весь ОК инклуд есть всего в трёх файлах, где без инклюда или реквайра движок просто бы не собрался в кучу. вы когда-нибудь интересовались защитой php скриптов от нелегального использования? Учитывая, что я не понимаю, как это относится к обсуждаемому коду, то, видимо, я интересовался не той защитой, о которой идёт речь. 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 Да уж, надеюсь, код вы пишите внимательней, чем читаете сообщения, на которые отвечаете. Что во фразе "прямой инклюд файлов в контроллерах" вам непонятно? Или вы не знаете, где в ОК контроллеры? Разве я что-то говорил о том, что инклюд как таковой - это плохо? Ну а по ссылке отлично видно, что на весь ОК инклуд есть всего в трёх файлах, где без инклюда или реквайра движок просто бы не собрался в кучу. И напоследок: прямой инклюд файлов в контроллерах противоречит и архитектуре ОК и современным принципам кодинга в целом. Ваши отмазки - не зачтены. В трех файлах ... основных файлах engine opencart (в maintenance.php точка входа, фактически он engine). Которые грузят почти "ВСЁ" в opencart. Не видите? Ну тогда вообще говорить не о чем. Заканчивайте отмазки, 3.14ли не в попад, так и скажите. При этом "громогласно" заявили и обвинили. Насчет безопасности freelancer правильно сказал. Не забываем что код может собираться из кусков, проверяться хеш и т.п. Не смотрите примитивно на код, с виду код который ничего не выполняет на самом деле может быть куском кода проверки защиты. Даже простая строка кода, из неё могут браться просто символы для компиляции кода защиты Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 Ваши отмазки - не зачтены. В трех файлах ... основных файлах engine opencart (в maintenance.php точка входа, фактически он engine). Которые грузят почти "ВСЁ" в opencart. Не видите? Ну тогда вообще говорить не о чем. Заканчивайте отмазки, 3.14ли не в попад, так и скажите. При этом "громогласно" заявили. Насчет безопасности freelancer правильно сказал. Не забываем что код может собираться из кусков, проверяться хеш и т.п. Марк, не обращай внимание на обелившегося админа варез-ресурса. Все посты персонажа - попытка набить репу. Не более. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Марк, не обращай внимание на обелившегося админа варез-ресурса. Все посты персонажа - попытка набить репу. Не более. И каким образом модерирование варез-форума - влияет на профессиональный уровень человека? Дорогу перешел? Или уличен в варезе? 2 Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Ваши отмазки - не зачтены. В трех файлах ... основных файлах engine opencart (в maintenance.php точка входа, фактически он engine). Которые грузят почти "ВСЁ" в opencart. Не видите? Ну тогда вообще говорить не о чем. Заканчивайте отмазки, 3.14ли не в попад, так и скажите. При этом "громогласно" заявили и обвинили. Вероятно, вы провоцируете меня на грубость, иначе я никак не могу расценить откровенное нежелание понимать о чём я говорю. Я сказал, что прямой инклюд файлов в контроллерах - это плохо, а вы показываете на опенкарстовский лоадер и говорите, что если в таком важном файле это и есть то можно пихать куда вздумается. Вам не кажется, что такими отмазками вы себя позорите? Я, кстати, когда писал своё мнение о коде, даже не обратил внимание, из какого модуля он и мой комментарий относился исключительно к тому коду, который был у меня перед глазами, а не к модулю или его автору. Если вы думаете, что мой комментарий мог сильно навредить репутации модуля или вашей, если б вы не начали тут так отчаянно защищаться, то должен сказать, что эта нелепые попытки оправдать код по принципу "сам дурак" (а не попытавшись, например, объяснить почему нужно было только так и никак иначе) - намного больше навредили вашей репутации и не только как программиста. А так бы, вероятно. никто бы даже не обратил внимание, что этот код из вашего модуля. Насчет безопасности freelancer правильно сказал. Не забываем что код может собираться из кусков, проверяться хеш и т.п. Не смотрите примитивно на код, с виду код который ничего не выполняет на самом деле может быть куском кода проверки защиты. Даже простая строка кода, из неё могут браться просто символы для компиляции кода защиты Но, вероятно, это не ваш случай, иначе вы бы сами об этом сразу сказали, а не разводили сопли. Все посты персонажа - попытка набить репу. Не более. Вот уж действительно, холивар о качестве кода - отличный способ набить репу, как я раньше то не додумался :-D Ведь когда критикуешь чей-то код, то сразу прибегает толпа людей, которые будут плюсовать и в первую очередь, конечно же, сам автор кривого кода. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вероятно... А при чем здесь модуль. Вы просто не понимаете что такое говнокод вот и все Ваш уровень junior не позволяет этого понять и отмазки последующие не зачтены. Говнокод - это архитектурная ошибки, к примеру когда не объявленному методу вдруг начинают оверлолдить или используют пробойный код безопасности или к примеру вызов простого кода opencart (как бы оригинальный код то, но в том архитектурном контексте это говнокод) дважды. А вы громогласно обвинили обычный стандартный код. И вызов include_once там обязытелен и оправдан так как это точка входа. Если вы не заметили то он вызывается не в контроллере, а как точка входа engine - фактически loader Так что давайте не делать громогласных заявлений, не подумавши и не имея квалификации определить что такое понятие говнокод Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Ваш уровень junior не позволяет этого понять и отмазки последующие не зачтены. Вы оцениваете мой уровень по количеству сообщений на этом форуме? Тогда, действительно, по сравнению с вами я даже не джун, а вообще младенец :) Говнокод - это архитектурная ошибки Использовать вместо опенкартовского лоадера прямой инклюд в контроллерах - это не архитектурная ошибка? Говоря про инклюд я сразу сказал, что это противоречит архитектуре ОК и вы так и не смогли показать хоть один контроллер в ОК, где подобное происходит, а loader.php, action.php и startup.php - никаким боком не контроллеры, а как раз те элементы архитектуры ОК, благодаря которым нет необходимости использовать прямой инклюд на более высоких уровнях. Если у вас есть необходимость в собственном лоадере, вы можете его подключить тем же образом, каким подключается оригинальный лоадер. И вызов include_once там обязытелен и оправдан так как это точка входа. Точка входа куда? Вообще, что является точкой входа зависит от конкретного языка и в случае php - это первая строка в первом файле вызова, но обычно в php точкой входа в приложение называют весь первый файл, то есть в случае ОК - это /index.php для витрины и /admin/index.php - для админки. Если вы не заметили то он вызывается не в контроллере А где тогда? В ошибках из первого поста, конечно, путь обрезан, но я не знаю в ОК других файлов с названием maintenance.php не считая языкового, но, если это вставка из языкового файла - это было бы уж совсем не смешно. Так что я уверен, что это файл /catalog/controller/common/maintenance.php. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вы оцениваете мой уровень по количеству сообщений на этом форуме? Тогда, действительно, по сравнению с вами я даже не джун, а вообще младенец :) Использовать вместо опенкартовского лоадера прямой инклюд в контроллерах Читать умеете - НЕ в контроллере Для тех кто в танке и не понимает где заканчивается код контроллера болдом даже выделил Не понимаешь архитектуру - не умничай, промолчи лучше Всё закончили - надоел, лепишь отмазки Отправляю вообще в бан у себя, надоела демагогия отмазок Бред какой то придумал что нельзя вызывать include_once в контроллерах Сам додумался ? Где написано что в контроллерах opencart нельзя вызывать include_once ? Расскажи это другим разработчикам Если надо кто хочет тот и вызывает, если в данном случае не обойтись Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Читать умеете - НЕ в контроллере Для тех кто в танке и не понимает где заканчивается код контроллера болдом даже выделил Да, с чётким выражением мыслей у вас явно проблемы. То что вы пытались сказать, называется - "не в классе контроллера", а не просто "не в контроллере", ибо слово контроллер в случае ОК обозначает и класс и его файл (в таких файлах всё равно больше нет ничего). Тем не менее, это файл контроллера, что всё равно противоречит архитектуре ОК, где действует принцип: один файл - один класс и ничего более (когда идёт речь о файлах с декларацией классов). И, что более важно, это также противоречит PSR-1 (если вы знаете, что это)! Если вы считаете, что нарушение спецификаций PSR не является гавнокодингом, то с вами, действительно, больше не о чем разговаривать. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 ... И, что более важно, это также противоречит PSR-1 (если вы знаете, что это)! :ugeek: Опять кидаетесь громогласными заявлениями и высокими фразами совершенно не понимая что в них описано По вашей "логике" opencart нарушает PSR-1 (так как содержит "побочный эффект" и объявление класса (во всем коде кстати), но там написано "не следует", а не "не позволяется", т е если в данном случае избежать невозможно, то это приходится делать) :-D Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Опять кидаетесь громогласными заявлениями и высокими фразами совершенно не понимая что в них описано Вот цитата оттуда: A file SHOULD declare new symbols (classes, functions, constants, etc.) and cause no other side effects, or it SHOULD execute logic with side effects, but SHOULD NOT do both. The phrase "side effects" means execution of logic not directly related to declaring classes, functions, constants, etc., merely from including the file. "Side effects" include but are not limited to: generating output, explicit use of require or include, connecting to external services, modifying ini settings, emitting errors or exceptions, modifying global or static variables, reading from or writing to a file, and so on. И ссылка на саму спецификацию: http://www.php-fig.org/psr/psr-1/ По вашей "логике" opencart нарушает PSR-1 (так как содержит "побочный эффект" и объявление класса (во всем коде кстати) Покажите конкретный пример из ОК. Я такого там вспомнить не могу. но там написано "не следует", а не "не позволяется", Суть гавнокодинга как раз в том, что автор такого кода плюёт на любые рекомендации, которые напрямую не влияют на работоспособность кода! А все подобные спецификации не могут быть жёсткими требованиями, а не просто рекомендациями, поскольку они напрямую не влияют на работоспособность кода, а значит никто не может заставить им следовать. И кстати, обратите внимание, что в спецификации используется should, а не may или can, так что это всё же довольно настоятельные рекомендации! т е если в данном случае избежать невозможно, то это приходится делать) Я согласен, что из-за отсутствия в ОК нормальной системы расширений, для работы некоторых модулей неизбежно использование различных костылей, но эта неизбежность не делает такой код качественным. Если во время дождя вы прикрываете голову пакетом, потому что не взяли с собой зонт - это не превращает этот пакет в зонт. Кроме того, благодаря vQmod/OCMOD (которые сами являются костылями) есть возможность добавлять свой код практически куда угодно, а потому нет необходимости создавать костыли прикрываясь их неизбежностью - модификаторы позволят обойти нерасширяемость ОК без дополнительных костылей. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вот цитата оттуда: ... Покажите конкретный пример из ОК. Я такого там вспомнить не могу. ... Ну я же говорил что не понимаете что там написано: /engine - обьявление классов (тем более final class) и "побочный эффект" include_once Вы даже не поняли что такое "побочный эффект" - изменение настроек тоже побочный эффект и много чего под него попадает. Весь opencart натыкан тогда, по вашей логике, г.. кодом. И что вы мне здесь "тулили" про контроллеры? В /engine значит можно, а в контроллерах нельзя (ваши слова). Откуда взял это, придумал сам видно. А про vqmod лучше промолчите вообще, вы в расширяемости opencart и йоты не знаете. 90% функционала что лепят разработчики opencart vqmod - м можно спокойно сделать без него, причем по стандартам php и PSR-1, только надо знать точку входа. И не надо пачить seo_pro, seo_url, да и вообще модели не надо патчить, а полностью получить контроль над всем кодом opencart (а в opencart 2. и контроль контроллеров, причем без триггеров). vQmod и ocmod - это костыли патчеры (ocmod - хоть стандарт opencart, а, vqmod это вообще 3.14) А за vQmod в opencart 2.x вообще в табло сразу бить надо тому разработчику кто сделал на нем Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. Нет, не патчер - он не патчит код ;) Он добавляет пару строк кода (чувствуете разницу - патчить код и добавлять кусок НЕ в код opencart), при этом если бы делалось через ocmod - пришлось бы перепатчить половину системных файлов для такого функционала и забыть о совместимости. А пара добавленных строк решила этот вопрос, при этом полная совместимость со всеми версиями и сборками opencart, темами, модулями ! Вот в чем самое главное. Никакие ocmod и vqmod не дали бы сделать так гибко модуль. Тем более всего парой добавленных строк НЕ в код. При этом перехватывается всё. Я могу заменить результат любой переменной, в любом контроллере (при желании в любой точке контроллера). Да с запросами там проблема. Сделаны они в opencart немного коряво - просто строками и никаких "генераторов" fw запросов. Здесь без ocmod никак к сожалению. Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Я вам по секрету скажу.. регулярка это -50% производительности. Я в курсе, что и как вы делаете. Поэтому простым ocmod в і можете сделать тоже самое... т.е. загрузить свой loader Я могу заменить результат любой переменной, в любом контроллере Я вас боюсь.. Помолчу. 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
markimax Опубліковано: 31 липня 2016 Share Опубліковано: 31 липня 2016 Всем добрый день.... Да вы модуль пытались купить (сегодня, но liqpay не принял платеж) Так вы решили на варезе скачать и поставить ? Отсюда и ошибка Вы устанавливаете ВАРЕЗНЫЙ модуль Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 31 липня 2016 Share Опубліковано: 31 липня 2016 И чем же она такая (строка кода)!? Вот просто интересно, когда вы делаете такие громогласные заявления, не зная сути и в про самый обычный код с маркером начала и конца кода Если б вы процитировали ту фразу из моего поста, на которую отвечаете, было бы проще понять, что вы говорите :) А по коду: начнём с этого "маркера" - смешно тут вспоминать о DRY, ибо он не о таких глупостях, но единственный смысл такого дублирования я могу предположить только в том, что с этой переменной происходит что-то внутри файла, который инклюдится, а её значение нужно ещё где-то дальше по коду текущего файла. И тут есть сразу два замечания: 1. Если с переменной что-то происходит внутри файла, то и восстановления её значения должно быть завёрнуто в тоже условие, которое подключает файл, иначе получается, что переменная устанавливается дважды одним значением независимо от того, использовалась ли она. 2. Но более важно то, что так вообще не делается! Если значение переменной нужно модифицировать в каком-то локальном скоупе, а затем продолжить использовать оригинальное значение в глобальном скоупе, то в локальном скоупе нужно скопировать значение в локальную переменную и делать с ней что угодно. Если же эта переменная вообще не работает, а только помечает этот блок кода, то это настолько противоречит здравому смыслу, что никто в здравом уме такого даже не предположит. Если есть необходимость пометить блок кода - есть комментарии. Нет необходимости засорять код элементами, которые не являются частью логики работы программы. Следующий пункт: судя по названиям файлов - это контроллеры. Дополнять код контроллеров вставками с php тегами - это уже само по себе, как минимум некрасиво (и нарушает стиль кодинга в ОК), но если эта вставка не в конце файла (а в конце файла нет смысла восстанавливать значение переменной), то эта вставка ещё и режет код контроллера на куски. И напоследок: прямой инклюд файлов в контроллерах противоречит и архитектуре ОК и современным принципам кодинга в целом. 2 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 31 липня 2016 Share Опубліковано: 31 липня 2016 ... И напоследок: прямой инклюд файлов в контроллерах противоречит и архитектуре ОК и современным принципам кодинга в целом. Это шутка такая была, я так понял Поищите поиском "include_once" в файлах opencart хотя бы для начала И вы еще наверно никогда не сталкивались у пользователей когда у них в настройках ftp клиента стоит очистка комментариев в коде (изменение файлов css, html, php и т п ). Я сталкивался и часто Написали полный бред, даже комментировать не буду 1 Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 31 липня 2016 Share Опубліковано: 31 липня 2016 Поищите поиском "include_once" в файлах opencart хотя бы для начала Поискал: https://github.com/opencart/opencart/search?utf8=%E2%9C%93&q=include_once Это как-то противоречит моим словам? Написали полный бред, даже комментировать не буду Действительно, что комментировать, если уже на include_once зафейлились. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 31 липня 2016 Share Опубліковано: 31 липня 2016 Dotrox не стоит!!! Такой кол... т.е. о коментах мы ничего не знаем...То что эти две строки - маркеры - я давно понял. Но !!! кому!! кроме программеров нужно в это влазить... Работает? И... БЕЗ изменения системных файлов!!!!! Какой нах ocmod (vqmod) Марк!!! ... Что есть, то есть.. не утруждайтесь!!! Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 Если же эта переменная вообще не работает, а только помечает этот блок кода, то это настолько противоречит здравому смыслу, что никто в здравом уме такого даже не предположит. Если есть необходимость пометить блок кода - есть комментарии. Нет необходимости засорять код элементами, которые не являются частью логики работы программы. Следующий пункт: судя по названиям файлов - это контроллеры. Дополнять код контроллеров вставками с php тегами - это уже само по себе, как минимум некрасиво (и нарушает стиль кодинга в ОК), но если эта вставка не в конце файла (а в конце файла нет смысла восстанавливать значение переменной), то эта вставка ещё и режет код контроллера на куски. И напоследок: прямой инклюд файлов в контроллерах противоречит и архитектуре ОК и современным принципам кодинга в целом. вы когда-нибудь интересовались защитой php скриптов от нелегального использования? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 Поискал: https://github.com/opencart/opencart/search?utf8=%E2%9C%93&q=include_once Действительно, что комментировать, если уже на include_once зафейлились. Ваши слова ? И напоследок: прямой инклюд файлов в контроллерах противоречит и архитектуре ОК и современным принципам кодинга в целом. opencart все основное грузит через include_once /engine Вопросы еще будут по include_once в opencart ? Признать свои ошибочные слова слабо видно Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 opencart все основное грузит через include_once /engine Вопросы еще будут по include_once в opencart ? Признать свои ошибочные слова слабо видно Да уж, надеюсь, код вы пишите внимательней, чем читаете сообщения, на которые отвечаете. Что во фразе "прямой инклюд файлов в контроллерах" вам непонятно? Или вы не знаете, где в ОК контроллеры? Разве я что-то говорил о том, что инклюд как таковой - это плохо? Ну а по ссылке отлично видно, что на весь ОК инклуд есть всего в трёх файлах, где без инклюда или реквайра движок просто бы не собрался в кучу. вы когда-нибудь интересовались защитой php скриптов от нелегального использования? Учитывая, что я не понимаю, как это относится к обсуждаемому коду, то, видимо, я интересовался не той защитой, о которой идёт речь. 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 Да уж, надеюсь, код вы пишите внимательней, чем читаете сообщения, на которые отвечаете. Что во фразе "прямой инклюд файлов в контроллерах" вам непонятно? Или вы не знаете, где в ОК контроллеры? Разве я что-то говорил о том, что инклюд как таковой - это плохо? Ну а по ссылке отлично видно, что на весь ОК инклуд есть всего в трёх файлах, где без инклюда или реквайра движок просто бы не собрался в кучу. И напоследок: прямой инклюд файлов в контроллерах противоречит и архитектуре ОК и современным принципам кодинга в целом. Ваши отмазки - не зачтены. В трех файлах ... основных файлах engine opencart (в maintenance.php точка входа, фактически он engine). Которые грузят почти "ВСЁ" в opencart. Не видите? Ну тогда вообще говорить не о чем. Заканчивайте отмазки, 3.14ли не в попад, так и скажите. При этом "громогласно" заявили и обвинили. Насчет безопасности freelancer правильно сказал. Не забываем что код может собираться из кусков, проверяться хеш и т.п. Не смотрите примитивно на код, с виду код который ничего не выполняет на самом деле может быть куском кода проверки защиты. Даже простая строка кода, из неё могут браться просто символы для компиляции кода защиты Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 Ваши отмазки - не зачтены. В трех файлах ... основных файлах engine opencart (в maintenance.php точка входа, фактически он engine). Которые грузят почти "ВСЁ" в opencart. Не видите? Ну тогда вообще говорить не о чем. Заканчивайте отмазки, 3.14ли не в попад, так и скажите. При этом "громогласно" заявили. Насчет безопасности freelancer правильно сказал. Не забываем что код может собираться из кусков, проверяться хеш и т.п. Марк, не обращай внимание на обелившегося админа варез-ресурса. Все посты персонажа - попытка набить репу. Не более. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Марк, не обращай внимание на обелившегося админа варез-ресурса. Все посты персонажа - попытка набить репу. Не более. И каким образом модерирование варез-форума - влияет на профессиональный уровень человека? Дорогу перешел? Или уличен в варезе? 2 Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Ваши отмазки - не зачтены. В трех файлах ... основных файлах engine opencart (в maintenance.php точка входа, фактически он engine). Которые грузят почти "ВСЁ" в opencart. Не видите? Ну тогда вообще говорить не о чем. Заканчивайте отмазки, 3.14ли не в попад, так и скажите. При этом "громогласно" заявили и обвинили. Вероятно, вы провоцируете меня на грубость, иначе я никак не могу расценить откровенное нежелание понимать о чём я говорю. Я сказал, что прямой инклюд файлов в контроллерах - это плохо, а вы показываете на опенкарстовский лоадер и говорите, что если в таком важном файле это и есть то можно пихать куда вздумается. Вам не кажется, что такими отмазками вы себя позорите? Я, кстати, когда писал своё мнение о коде, даже не обратил внимание, из какого модуля он и мой комментарий относился исключительно к тому коду, который был у меня перед глазами, а не к модулю или его автору. Если вы думаете, что мой комментарий мог сильно навредить репутации модуля или вашей, если б вы не начали тут так отчаянно защищаться, то должен сказать, что эта нелепые попытки оправдать код по принципу "сам дурак" (а не попытавшись, например, объяснить почему нужно было только так и никак иначе) - намного больше навредили вашей репутации и не только как программиста. А так бы, вероятно. никто бы даже не обратил внимание, что этот код из вашего модуля. Насчет безопасности freelancer правильно сказал. Не забываем что код может собираться из кусков, проверяться хеш и т.п. Не смотрите примитивно на код, с виду код который ничего не выполняет на самом деле может быть куском кода проверки защиты. Даже простая строка кода, из неё могут браться просто символы для компиляции кода защиты Но, вероятно, это не ваш случай, иначе вы бы сами об этом сразу сказали, а не разводили сопли. Все посты персонажа - попытка набить репу. Не более. Вот уж действительно, холивар о качестве кода - отличный способ набить репу, как я раньше то не додумался :-D Ведь когда критикуешь чей-то код, то сразу прибегает толпа людей, которые будут плюсовать и в первую очередь, конечно же, сам автор кривого кода. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вероятно... А при чем здесь модуль. Вы просто не понимаете что такое говнокод вот и все Ваш уровень junior не позволяет этого понять и отмазки последующие не зачтены. Говнокод - это архитектурная ошибки, к примеру когда не объявленному методу вдруг начинают оверлолдить или используют пробойный код безопасности или к примеру вызов простого кода opencart (как бы оригинальный код то, но в том архитектурном контексте это говнокод) дважды. А вы громогласно обвинили обычный стандартный код. И вызов include_once там обязытелен и оправдан так как это точка входа. Если вы не заметили то он вызывается не в контроллере, а как точка входа engine - фактически loader Так что давайте не делать громогласных заявлений, не подумавши и не имея квалификации определить что такое понятие говнокод Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Ваш уровень junior не позволяет этого понять и отмазки последующие не зачтены. Вы оцениваете мой уровень по количеству сообщений на этом форуме? Тогда, действительно, по сравнению с вами я даже не джун, а вообще младенец :) Говнокод - это архитектурная ошибки Использовать вместо опенкартовского лоадера прямой инклюд в контроллерах - это не архитектурная ошибка? Говоря про инклюд я сразу сказал, что это противоречит архитектуре ОК и вы так и не смогли показать хоть один контроллер в ОК, где подобное происходит, а loader.php, action.php и startup.php - никаким боком не контроллеры, а как раз те элементы архитектуры ОК, благодаря которым нет необходимости использовать прямой инклюд на более высоких уровнях. Если у вас есть необходимость в собственном лоадере, вы можете его подключить тем же образом, каким подключается оригинальный лоадер. И вызов include_once там обязытелен и оправдан так как это точка входа. Точка входа куда? Вообще, что является точкой входа зависит от конкретного языка и в случае php - это первая строка в первом файле вызова, но обычно в php точкой входа в приложение называют весь первый файл, то есть в случае ОК - это /index.php для витрины и /admin/index.php - для админки. Если вы не заметили то он вызывается не в контроллере А где тогда? В ошибках из первого поста, конечно, путь обрезан, но я не знаю в ОК других файлов с названием maintenance.php не считая языкового, но, если это вставка из языкового файла - это было бы уж совсем не смешно. Так что я уверен, что это файл /catalog/controller/common/maintenance.php. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вы оцениваете мой уровень по количеству сообщений на этом форуме? Тогда, действительно, по сравнению с вами я даже не джун, а вообще младенец :) Использовать вместо опенкартовского лоадера прямой инклюд в контроллерах Читать умеете - НЕ в контроллере Для тех кто в танке и не понимает где заканчивается код контроллера болдом даже выделил Не понимаешь архитектуру - не умничай, промолчи лучше Всё закончили - надоел, лепишь отмазки Отправляю вообще в бан у себя, надоела демагогия отмазок Бред какой то придумал что нельзя вызывать include_once в контроллерах Сам додумался ? Где написано что в контроллерах opencart нельзя вызывать include_once ? Расскажи это другим разработчикам Если надо кто хочет тот и вызывает, если в данном случае не обойтись Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Читать умеете - НЕ в контроллере Для тех кто в танке и не понимает где заканчивается код контроллера болдом даже выделил Да, с чётким выражением мыслей у вас явно проблемы. То что вы пытались сказать, называется - "не в классе контроллера", а не просто "не в контроллере", ибо слово контроллер в случае ОК обозначает и класс и его файл (в таких файлах всё равно больше нет ничего). Тем не менее, это файл контроллера, что всё равно противоречит архитектуре ОК, где действует принцип: один файл - один класс и ничего более (когда идёт речь о файлах с декларацией классов). И, что более важно, это также противоречит PSR-1 (если вы знаете, что это)! Если вы считаете, что нарушение спецификаций PSR не является гавнокодингом, то с вами, действительно, больше не о чем разговаривать. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 ... И, что более важно, это также противоречит PSR-1 (если вы знаете, что это)! :ugeek: Опять кидаетесь громогласными заявлениями и высокими фразами совершенно не понимая что в них описано По вашей "логике" opencart нарушает PSR-1 (так как содержит "побочный эффект" и объявление класса (во всем коде кстати), но там написано "не следует", а не "не позволяется", т е если в данном случае избежать невозможно, то это приходится делать) :-D Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Опять кидаетесь громогласными заявлениями и высокими фразами совершенно не понимая что в них описано Вот цитата оттуда: A file SHOULD declare new symbols (classes, functions, constants, etc.) and cause no other side effects, or it SHOULD execute logic with side effects, but SHOULD NOT do both. The phrase "side effects" means execution of logic not directly related to declaring classes, functions, constants, etc., merely from including the file. "Side effects" include but are not limited to: generating output, explicit use of require or include, connecting to external services, modifying ini settings, emitting errors or exceptions, modifying global or static variables, reading from or writing to a file, and so on. И ссылка на саму спецификацию: http://www.php-fig.org/psr/psr-1/ По вашей "логике" opencart нарушает PSR-1 (так как содержит "побочный эффект" и объявление класса (во всем коде кстати) Покажите конкретный пример из ОК. Я такого там вспомнить не могу. но там написано "не следует", а не "не позволяется", Суть гавнокодинга как раз в том, что автор такого кода плюёт на любые рекомендации, которые напрямую не влияют на работоспособность кода! А все подобные спецификации не могут быть жёсткими требованиями, а не просто рекомендациями, поскольку они напрямую не влияют на работоспособность кода, а значит никто не может заставить им следовать. И кстати, обратите внимание, что в спецификации используется should, а не may или can, так что это всё же довольно настоятельные рекомендации! т е если в данном случае избежать невозможно, то это приходится делать) Я согласен, что из-за отсутствия в ОК нормальной системы расширений, для работы некоторых модулей неизбежно использование различных костылей, но эта неизбежность не делает такой код качественным. Если во время дождя вы прикрываете голову пакетом, потому что не взяли с собой зонт - это не превращает этот пакет в зонт. Кроме того, благодаря vQmod/OCMOD (которые сами являются костылями) есть возможность добавлять свой код практически куда угодно, а потому нет необходимости создавать костыли прикрываясь их неизбежностью - модификаторы позволят обойти нерасширяемость ОК без дополнительных костылей. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вот цитата оттуда: ... Покажите конкретный пример из ОК. Я такого там вспомнить не могу. ... Ну я же говорил что не понимаете что там написано: /engine - обьявление классов (тем более final class) и "побочный эффект" include_once Вы даже не поняли что такое "побочный эффект" - изменение настроек тоже побочный эффект и много чего под него попадает. Весь opencart натыкан тогда, по вашей логике, г.. кодом. И что вы мне здесь "тулили" про контроллеры? В /engine значит можно, а в контроллерах нельзя (ваши слова). Откуда взял это, придумал сам видно. А про vqmod лучше промолчите вообще, вы в расширяемости opencart и йоты не знаете. 90% функционала что лепят разработчики opencart vqmod - м можно спокойно сделать без него, причем по стандартам php и PSR-1, только надо знать точку входа. И не надо пачить seo_pro, seo_url, да и вообще модели не надо патчить, а полностью получить контроль над всем кодом opencart (а в opencart 2. и контроль контроллеров, причем без триггеров). vQmod и ocmod - это костыли патчеры (ocmod - хоть стандарт opencart, а, vqmod это вообще 3.14) А за vQmod в opencart 2.x вообще в табло сразу бить надо тому разработчику кто сделал на нем Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. Нет, не патчер - он не патчит код ;) Он добавляет пару строк кода (чувствуете разницу - патчить код и добавлять кусок НЕ в код opencart), при этом если бы делалось через ocmod - пришлось бы перепатчить половину системных файлов для такого функционала и забыть о совместимости. А пара добавленных строк решила этот вопрос, при этом полная совместимость со всеми версиями и сборками opencart, темами, модулями ! Вот в чем самое главное. Никакие ocmod и vqmod не дали бы сделать так гибко модуль. Тем более всего парой добавленных строк НЕ в код. При этом перехватывается всё. Я могу заменить результат любой переменной, в любом контроллере (при желании в любой точке контроллера). Да с запросами там проблема. Сделаны они в opencart немного коряво - просто строками и никаких "генераторов" fw запросов. Здесь без ocmod никак к сожалению. Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Я вам по секрету скажу.. регулярка это -50% производительности. Я в курсе, что и как вы делаете. Поэтому простым ocmod в і можете сделать тоже самое... т.е. загрузить свой loader Я могу заменить результат любой переменной, в любом контроллере Я вас боюсь.. Помолчу. 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Dotrox Опубліковано: 31 липня 2016 Share Опубліковано: 31 липня 2016 И чем же она такая (строка кода)!? Вот просто интересно, когда вы делаете такие громогласные заявления, не зная сути и в про самый обычный код с маркером начала и конца кода Если б вы процитировали ту фразу из моего поста, на которую отвечаете, было бы проще понять, что вы говорите :) А по коду: начнём с этого "маркера" - смешно тут вспоминать о DRY, ибо он не о таких глупостях, но единственный смысл такого дублирования я могу предположить только в том, что с этой переменной происходит что-то внутри файла, который инклюдится, а её значение нужно ещё где-то дальше по коду текущего файла. И тут есть сразу два замечания: 1. Если с переменной что-то происходит внутри файла, то и восстановления её значения должно быть завёрнуто в тоже условие, которое подключает файл, иначе получается, что переменная устанавливается дважды одним значением независимо от того, использовалась ли она. 2. Но более важно то, что так вообще не делается! Если значение переменной нужно модифицировать в каком-то локальном скоупе, а затем продолжить использовать оригинальное значение в глобальном скоупе, то в локальном скоупе нужно скопировать значение в локальную переменную и делать с ней что угодно. Если же эта переменная вообще не работает, а только помечает этот блок кода, то это настолько противоречит здравому смыслу, что никто в здравом уме такого даже не предположит. Если есть необходимость пометить блок кода - есть комментарии. Нет необходимости засорять код элементами, которые не являются частью логики работы программы. Следующий пункт: судя по названиям файлов - это контроллеры. Дополнять код контроллеров вставками с php тегами - это уже само по себе, как минимум некрасиво (и нарушает стиль кодинга в ОК), но если эта вставка не в конце файла (а в конце файла нет смысла восстанавливать значение переменной), то эта вставка ещё и режет код контроллера на куски. И напоследок: прямой инклюд файлов в контроллерах противоречит и архитектуре ОК и современным принципам кодинга в целом. 2 Надіслати Поділитися на інших сайтах More sharing options...
markimax Опубліковано: 31 липня 2016 Share Опубліковано: 31 липня 2016 ... И напоследок: прямой инклюд файлов в контроллерах противоречит и архитектуре ОК и современным принципам кодинга в целом. Это шутка такая была, я так понял Поищите поиском "include_once" в файлах opencart хотя бы для начала И вы еще наверно никогда не сталкивались у пользователей когда у них в настройках ftp клиента стоит очистка комментариев в коде (изменение файлов css, html, php и т п ). Я сталкивался и часто Написали полный бред, даже комментировать не буду 1 Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 31 липня 2016 Share Опубліковано: 31 липня 2016 Поищите поиском "include_once" в файлах opencart хотя бы для начала Поискал: https://github.com/opencart/opencart/search?utf8=%E2%9C%93&q=include_once Это как-то противоречит моим словам? Написали полный бред, даже комментировать не буду Действительно, что комментировать, если уже на include_once зафейлились. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 31 липня 2016 Share Опубліковано: 31 липня 2016 Dotrox не стоит!!! Такой кол... т.е. о коментах мы ничего не знаем...То что эти две строки - маркеры - я давно понял. Но !!! кому!! кроме программеров нужно в это влазить... Работает? И... БЕЗ изменения системных файлов!!!!! Какой нах ocmod (vqmod) Марк!!! ... Что есть, то есть.. не утруждайтесь!!! Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 Если же эта переменная вообще не работает, а только помечает этот блок кода, то это настолько противоречит здравому смыслу, что никто в здравом уме такого даже не предположит. Если есть необходимость пометить блок кода - есть комментарии. Нет необходимости засорять код элементами, которые не являются частью логики работы программы. Следующий пункт: судя по названиям файлов - это контроллеры. Дополнять код контроллеров вставками с php тегами - это уже само по себе, как минимум некрасиво (и нарушает стиль кодинга в ОК), но если эта вставка не в конце файла (а в конце файла нет смысла восстанавливать значение переменной), то эта вставка ещё и режет код контроллера на куски. И напоследок: прямой инклюд файлов в контроллерах противоречит и архитектуре ОК и современным принципам кодинга в целом. вы когда-нибудь интересовались защитой php скриптов от нелегального использования? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 Поискал: https://github.com/opencart/opencart/search?utf8=%E2%9C%93&q=include_once Действительно, что комментировать, если уже на include_once зафейлились. Ваши слова ? И напоследок: прямой инклюд файлов в контроллерах противоречит и архитектуре ОК и современным принципам кодинга в целом. opencart все основное грузит через include_once /engine Вопросы еще будут по include_once в opencart ? Признать свои ошибочные слова слабо видно Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 opencart все основное грузит через include_once /engine Вопросы еще будут по include_once в opencart ? Признать свои ошибочные слова слабо видно Да уж, надеюсь, код вы пишите внимательней, чем читаете сообщения, на которые отвечаете. Что во фразе "прямой инклюд файлов в контроллерах" вам непонятно? Или вы не знаете, где в ОК контроллеры? Разве я что-то говорил о том, что инклюд как таковой - это плохо? Ну а по ссылке отлично видно, что на весь ОК инклуд есть всего в трёх файлах, где без инклюда или реквайра движок просто бы не собрался в кучу. вы когда-нибудь интересовались защитой php скриптов от нелегального использования? Учитывая, что я не понимаю, как это относится к обсуждаемому коду, то, видимо, я интересовался не той защитой, о которой идёт речь. 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 Да уж, надеюсь, код вы пишите внимательней, чем читаете сообщения, на которые отвечаете. Что во фразе "прямой инклюд файлов в контроллерах" вам непонятно? Или вы не знаете, где в ОК контроллеры? Разве я что-то говорил о том, что инклюд как таковой - это плохо? Ну а по ссылке отлично видно, что на весь ОК инклуд есть всего в трёх файлах, где без инклюда или реквайра движок просто бы не собрался в кучу. И напоследок: прямой инклюд файлов в контроллерах противоречит и архитектуре ОК и современным принципам кодинга в целом. Ваши отмазки - не зачтены. В трех файлах ... основных файлах engine opencart (в maintenance.php точка входа, фактически он engine). Которые грузят почти "ВСЁ" в opencart. Не видите? Ну тогда вообще говорить не о чем. Заканчивайте отмазки, 3.14ли не в попад, так и скажите. При этом "громогласно" заявили и обвинили. Насчет безопасности freelancer правильно сказал. Не забываем что код может собираться из кусков, проверяться хеш и т.п. Не смотрите примитивно на код, с виду код который ничего не выполняет на самом деле может быть куском кода проверки защиты. Даже простая строка кода, из неё могут браться просто символы для компиляции кода защиты Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 Ваши отмазки - не зачтены. В трех файлах ... основных файлах engine opencart (в maintenance.php точка входа, фактически он engine). Которые грузят почти "ВСЁ" в opencart. Не видите? Ну тогда вообще говорить не о чем. Заканчивайте отмазки, 3.14ли не в попад, так и скажите. При этом "громогласно" заявили. Насчет безопасности freelancer правильно сказал. Не забываем что код может собираться из кусков, проверяться хеш и т.п. Марк, не обращай внимание на обелившегося админа варез-ресурса. Все посты персонажа - попытка набить репу. Не более. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Марк, не обращай внимание на обелившегося админа варез-ресурса. Все посты персонажа - попытка набить репу. Не более. И каким образом модерирование варез-форума - влияет на профессиональный уровень человека? Дорогу перешел? Или уличен в варезе? 2 Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Ваши отмазки - не зачтены. В трех файлах ... основных файлах engine opencart (в maintenance.php точка входа, фактически он engine). Которые грузят почти "ВСЁ" в opencart. Не видите? Ну тогда вообще говорить не о чем. Заканчивайте отмазки, 3.14ли не в попад, так и скажите. При этом "громогласно" заявили и обвинили. Вероятно, вы провоцируете меня на грубость, иначе я никак не могу расценить откровенное нежелание понимать о чём я говорю. Я сказал, что прямой инклюд файлов в контроллерах - это плохо, а вы показываете на опенкарстовский лоадер и говорите, что если в таком важном файле это и есть то можно пихать куда вздумается. Вам не кажется, что такими отмазками вы себя позорите? Я, кстати, когда писал своё мнение о коде, даже не обратил внимание, из какого модуля он и мой комментарий относился исключительно к тому коду, который был у меня перед глазами, а не к модулю или его автору. Если вы думаете, что мой комментарий мог сильно навредить репутации модуля или вашей, если б вы не начали тут так отчаянно защищаться, то должен сказать, что эта нелепые попытки оправдать код по принципу "сам дурак" (а не попытавшись, например, объяснить почему нужно было только так и никак иначе) - намного больше навредили вашей репутации и не только как программиста. А так бы, вероятно. никто бы даже не обратил внимание, что этот код из вашего модуля. Насчет безопасности freelancer правильно сказал. Не забываем что код может собираться из кусков, проверяться хеш и т.п. Не смотрите примитивно на код, с виду код который ничего не выполняет на самом деле может быть куском кода проверки защиты. Даже простая строка кода, из неё могут браться просто символы для компиляции кода защиты Но, вероятно, это не ваш случай, иначе вы бы сами об этом сразу сказали, а не разводили сопли. Все посты персонажа - попытка набить репу. Не более. Вот уж действительно, холивар о качестве кода - отличный способ набить репу, как я раньше то не додумался :-D Ведь когда критикуешь чей-то код, то сразу прибегает толпа людей, которые будут плюсовать и в первую очередь, конечно же, сам автор кривого кода. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вероятно... А при чем здесь модуль. Вы просто не понимаете что такое говнокод вот и все Ваш уровень junior не позволяет этого понять и отмазки последующие не зачтены. Говнокод - это архитектурная ошибки, к примеру когда не объявленному методу вдруг начинают оверлолдить или используют пробойный код безопасности или к примеру вызов простого кода opencart (как бы оригинальный код то, но в том архитектурном контексте это говнокод) дважды. А вы громогласно обвинили обычный стандартный код. И вызов include_once там обязытелен и оправдан так как это точка входа. Если вы не заметили то он вызывается не в контроллере, а как точка входа engine - фактически loader Так что давайте не делать громогласных заявлений, не подумавши и не имея квалификации определить что такое понятие говнокод Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Ваш уровень junior не позволяет этого понять и отмазки последующие не зачтены. Вы оцениваете мой уровень по количеству сообщений на этом форуме? Тогда, действительно, по сравнению с вами я даже не джун, а вообще младенец :) Говнокод - это архитектурная ошибки Использовать вместо опенкартовского лоадера прямой инклюд в контроллерах - это не архитектурная ошибка? Говоря про инклюд я сразу сказал, что это противоречит архитектуре ОК и вы так и не смогли показать хоть один контроллер в ОК, где подобное происходит, а loader.php, action.php и startup.php - никаким боком не контроллеры, а как раз те элементы архитектуры ОК, благодаря которым нет необходимости использовать прямой инклюд на более высоких уровнях. Если у вас есть необходимость в собственном лоадере, вы можете его подключить тем же образом, каким подключается оригинальный лоадер. И вызов include_once там обязытелен и оправдан так как это точка входа. Точка входа куда? Вообще, что является точкой входа зависит от конкретного языка и в случае php - это первая строка в первом файле вызова, но обычно в php точкой входа в приложение называют весь первый файл, то есть в случае ОК - это /index.php для витрины и /admin/index.php - для админки. Если вы не заметили то он вызывается не в контроллере А где тогда? В ошибках из первого поста, конечно, путь обрезан, но я не знаю в ОК других файлов с названием maintenance.php не считая языкового, но, если это вставка из языкового файла - это было бы уж совсем не смешно. Так что я уверен, что это файл /catalog/controller/common/maintenance.php. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вы оцениваете мой уровень по количеству сообщений на этом форуме? Тогда, действительно, по сравнению с вами я даже не джун, а вообще младенец :) Использовать вместо опенкартовского лоадера прямой инклюд в контроллерах Читать умеете - НЕ в контроллере Для тех кто в танке и не понимает где заканчивается код контроллера болдом даже выделил Не понимаешь архитектуру - не умничай, промолчи лучше Всё закончили - надоел, лепишь отмазки Отправляю вообще в бан у себя, надоела демагогия отмазок Бред какой то придумал что нельзя вызывать include_once в контроллерах Сам додумался ? Где написано что в контроллерах opencart нельзя вызывать include_once ? Расскажи это другим разработчикам Если надо кто хочет тот и вызывает, если в данном случае не обойтись Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Читать умеете - НЕ в контроллере Для тех кто в танке и не понимает где заканчивается код контроллера болдом даже выделил Да, с чётким выражением мыслей у вас явно проблемы. То что вы пытались сказать, называется - "не в классе контроллера", а не просто "не в контроллере", ибо слово контроллер в случае ОК обозначает и класс и его файл (в таких файлах всё равно больше нет ничего). Тем не менее, это файл контроллера, что всё равно противоречит архитектуре ОК, где действует принцип: один файл - один класс и ничего более (когда идёт речь о файлах с декларацией классов). И, что более важно, это также противоречит PSR-1 (если вы знаете, что это)! Если вы считаете, что нарушение спецификаций PSR не является гавнокодингом, то с вами, действительно, больше не о чем разговаривать. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 ... И, что более важно, это также противоречит PSR-1 (если вы знаете, что это)! :ugeek: Опять кидаетесь громогласными заявлениями и высокими фразами совершенно не понимая что в них описано По вашей "логике" opencart нарушает PSR-1 (так как содержит "побочный эффект" и объявление класса (во всем коде кстати), но там написано "не следует", а не "не позволяется", т е если в данном случае избежать невозможно, то это приходится делать) :-D Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Опять кидаетесь громогласными заявлениями и высокими фразами совершенно не понимая что в них описано Вот цитата оттуда: A file SHOULD declare new symbols (classes, functions, constants, etc.) and cause no other side effects, or it SHOULD execute logic with side effects, but SHOULD NOT do both. The phrase "side effects" means execution of logic not directly related to declaring classes, functions, constants, etc., merely from including the file. "Side effects" include but are not limited to: generating output, explicit use of require or include, connecting to external services, modifying ini settings, emitting errors or exceptions, modifying global or static variables, reading from or writing to a file, and so on. И ссылка на саму спецификацию: http://www.php-fig.org/psr/psr-1/ По вашей "логике" opencart нарушает PSR-1 (так как содержит "побочный эффект" и объявление класса (во всем коде кстати) Покажите конкретный пример из ОК. Я такого там вспомнить не могу. но там написано "не следует", а не "не позволяется", Суть гавнокодинга как раз в том, что автор такого кода плюёт на любые рекомендации, которые напрямую не влияют на работоспособность кода! А все подобные спецификации не могут быть жёсткими требованиями, а не просто рекомендациями, поскольку они напрямую не влияют на работоспособность кода, а значит никто не может заставить им следовать. И кстати, обратите внимание, что в спецификации используется should, а не may или can, так что это всё же довольно настоятельные рекомендации! т е если в данном случае избежать невозможно, то это приходится делать) Я согласен, что из-за отсутствия в ОК нормальной системы расширений, для работы некоторых модулей неизбежно использование различных костылей, но эта неизбежность не делает такой код качественным. Если во время дождя вы прикрываете голову пакетом, потому что не взяли с собой зонт - это не превращает этот пакет в зонт. Кроме того, благодаря vQmod/OCMOD (которые сами являются костылями) есть возможность добавлять свой код практически куда угодно, а потому нет необходимости создавать костыли прикрываясь их неизбежностью - модификаторы позволят обойти нерасширяемость ОК без дополнительных костылей. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вот цитата оттуда: ... Покажите конкретный пример из ОК. Я такого там вспомнить не могу. ... Ну я же говорил что не понимаете что там написано: /engine - обьявление классов (тем более final class) и "побочный эффект" include_once Вы даже не поняли что такое "побочный эффект" - изменение настроек тоже побочный эффект и много чего под него попадает. Весь opencart натыкан тогда, по вашей логике, г.. кодом. И что вы мне здесь "тулили" про контроллеры? В /engine значит можно, а в контроллерах нельзя (ваши слова). Откуда взял это, придумал сам видно. А про vqmod лучше промолчите вообще, вы в расширяемости opencart и йоты не знаете. 90% функционала что лепят разработчики opencart vqmod - м можно спокойно сделать без него, причем по стандартам php и PSR-1, только надо знать точку входа. И не надо пачить seo_pro, seo_url, да и вообще модели не надо патчить, а полностью получить контроль над всем кодом opencart (а в opencart 2. и контроль контроллеров, причем без триггеров). vQmod и ocmod - это костыли патчеры (ocmod - хоть стандарт opencart, а, vqmod это вообще 3.14) А за vQmod в opencart 2.x вообще в табло сразу бить надо тому разработчику кто сделал на нем Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. Нет, не патчер - он не патчит код ;) Он добавляет пару строк кода (чувствуете разницу - патчить код и добавлять кусок НЕ в код opencart), при этом если бы делалось через ocmod - пришлось бы перепатчить половину системных файлов для такого функционала и забыть о совместимости. А пара добавленных строк решила этот вопрос, при этом полная совместимость со всеми версиями и сборками opencart, темами, модулями ! Вот в чем самое главное. Никакие ocmod и vqmod не дали бы сделать так гибко модуль. Тем более всего парой добавленных строк НЕ в код. При этом перехватывается всё. Я могу заменить результат любой переменной, в любом контроллере (при желании в любой точке контроллера). Да с запросами там проблема. Сделаны они в opencart немного коряво - просто строками и никаких "генераторов" fw запросов. Здесь без ocmod никак к сожалению. Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Я вам по секрету скажу.. регулярка это -50% производительности. Я в курсе, что и как вы делаете. Поэтому простым ocmod в і можете сделать тоже самое... т.е. загрузить свой loader Я могу заменить результат любой переменной, в любом контроллере Я вас боюсь.. Помолчу. 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Dotrox Опубліковано: 31 липня 2016 Share Опубліковано: 31 липня 2016 Поищите поиском "include_once" в файлах opencart хотя бы для начала Поискал: https://github.com/opencart/opencart/search?utf8=%E2%9C%93&q=include_once Это как-то противоречит моим словам? Написали полный бред, даже комментировать не буду Действительно, что комментировать, если уже на include_once зафейлились. Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 31 липня 2016 Share Опубліковано: 31 липня 2016 Dotrox не стоит!!! Такой кол... т.е. о коментах мы ничего не знаем...То что эти две строки - маркеры - я давно понял. Но !!! кому!! кроме программеров нужно в это влазить... Работает? И... БЕЗ изменения системных файлов!!!!! Какой нах ocmod (vqmod) Марк!!! ... Что есть, то есть.. не утруждайтесь!!! Надіслати Поділитися на інших сайтах More sharing options... freelancer Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 Если же эта переменная вообще не работает, а только помечает этот блок кода, то это настолько противоречит здравому смыслу, что никто в здравом уме такого даже не предположит. Если есть необходимость пометить блок кода - есть комментарии. Нет необходимости засорять код элементами, которые не являются частью логики работы программы. Следующий пункт: судя по названиям файлов - это контроллеры. Дополнять код контроллеров вставками с php тегами - это уже само по себе, как минимум некрасиво (и нарушает стиль кодинга в ОК), но если эта вставка не в конце файла (а в конце файла нет смысла восстанавливать значение переменной), то эта вставка ещё и режет код контроллера на куски. И напоследок: прямой инклюд файлов в контроллерах противоречит и архитектуре ОК и современным принципам кодинга в целом. вы когда-нибудь интересовались защитой php скриптов от нелегального использования? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 Поискал: https://github.com/opencart/opencart/search?utf8=%E2%9C%93&q=include_once Действительно, что комментировать, если уже на include_once зафейлились. Ваши слова ? И напоследок: прямой инклюд файлов в контроллерах противоречит и архитектуре ОК и современным принципам кодинга в целом. opencart все основное грузит через include_once /engine Вопросы еще будут по include_once в opencart ? Признать свои ошибочные слова слабо видно Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 opencart все основное грузит через include_once /engine Вопросы еще будут по include_once в opencart ? Признать свои ошибочные слова слабо видно Да уж, надеюсь, код вы пишите внимательней, чем читаете сообщения, на которые отвечаете. Что во фразе "прямой инклюд файлов в контроллерах" вам непонятно? Или вы не знаете, где в ОК контроллеры? Разве я что-то говорил о том, что инклюд как таковой - это плохо? Ну а по ссылке отлично видно, что на весь ОК инклуд есть всего в трёх файлах, где без инклюда или реквайра движок просто бы не собрался в кучу. вы когда-нибудь интересовались защитой php скриптов от нелегального использования? Учитывая, что я не понимаю, как это относится к обсуждаемому коду, то, видимо, я интересовался не той защитой, о которой идёт речь. 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 Да уж, надеюсь, код вы пишите внимательней, чем читаете сообщения, на которые отвечаете. Что во фразе "прямой инклюд файлов в контроллерах" вам непонятно? Или вы не знаете, где в ОК контроллеры? Разве я что-то говорил о том, что инклюд как таковой - это плохо? Ну а по ссылке отлично видно, что на весь ОК инклуд есть всего в трёх файлах, где без инклюда или реквайра движок просто бы не собрался в кучу. И напоследок: прямой инклюд файлов в контроллерах противоречит и архитектуре ОК и современным принципам кодинга в целом. Ваши отмазки - не зачтены. В трех файлах ... основных файлах engine opencart (в maintenance.php точка входа, фактически он engine). Которые грузят почти "ВСЁ" в opencart. Не видите? Ну тогда вообще говорить не о чем. Заканчивайте отмазки, 3.14ли не в попад, так и скажите. При этом "громогласно" заявили и обвинили. Насчет безопасности freelancer правильно сказал. Не забываем что код может собираться из кусков, проверяться хеш и т.п. Не смотрите примитивно на код, с виду код который ничего не выполняет на самом деле может быть куском кода проверки защиты. Даже простая строка кода, из неё могут браться просто символы для компиляции кода защиты Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 Ваши отмазки - не зачтены. В трех файлах ... основных файлах engine opencart (в maintenance.php точка входа, фактически он engine). Которые грузят почти "ВСЁ" в opencart. Не видите? Ну тогда вообще говорить не о чем. Заканчивайте отмазки, 3.14ли не в попад, так и скажите. При этом "громогласно" заявили. Насчет безопасности freelancer правильно сказал. Не забываем что код может собираться из кусков, проверяться хеш и т.п. Марк, не обращай внимание на обелившегося админа варез-ресурса. Все посты персонажа - попытка набить репу. Не более. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Марк, не обращай внимание на обелившегося админа варез-ресурса. Все посты персонажа - попытка набить репу. Не более. И каким образом модерирование варез-форума - влияет на профессиональный уровень человека? Дорогу перешел? Или уличен в варезе? 2 Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Ваши отмазки - не зачтены. В трех файлах ... основных файлах engine opencart (в maintenance.php точка входа, фактически он engine). Которые грузят почти "ВСЁ" в opencart. Не видите? Ну тогда вообще говорить не о чем. Заканчивайте отмазки, 3.14ли не в попад, так и скажите. При этом "громогласно" заявили и обвинили. Вероятно, вы провоцируете меня на грубость, иначе я никак не могу расценить откровенное нежелание понимать о чём я говорю. Я сказал, что прямой инклюд файлов в контроллерах - это плохо, а вы показываете на опенкарстовский лоадер и говорите, что если в таком важном файле это и есть то можно пихать куда вздумается. Вам не кажется, что такими отмазками вы себя позорите? Я, кстати, когда писал своё мнение о коде, даже не обратил внимание, из какого модуля он и мой комментарий относился исключительно к тому коду, который был у меня перед глазами, а не к модулю или его автору. Если вы думаете, что мой комментарий мог сильно навредить репутации модуля или вашей, если б вы не начали тут так отчаянно защищаться, то должен сказать, что эта нелепые попытки оправдать код по принципу "сам дурак" (а не попытавшись, например, объяснить почему нужно было только так и никак иначе) - намного больше навредили вашей репутации и не только как программиста. А так бы, вероятно. никто бы даже не обратил внимание, что этот код из вашего модуля. Насчет безопасности freelancer правильно сказал. Не забываем что код может собираться из кусков, проверяться хеш и т.п. Не смотрите примитивно на код, с виду код который ничего не выполняет на самом деле может быть куском кода проверки защиты. Даже простая строка кода, из неё могут браться просто символы для компиляции кода защиты Но, вероятно, это не ваш случай, иначе вы бы сами об этом сразу сказали, а не разводили сопли. Все посты персонажа - попытка набить репу. Не более. Вот уж действительно, холивар о качестве кода - отличный способ набить репу, как я раньше то не додумался :-D Ведь когда критикуешь чей-то код, то сразу прибегает толпа людей, которые будут плюсовать и в первую очередь, конечно же, сам автор кривого кода. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вероятно... А при чем здесь модуль. Вы просто не понимаете что такое говнокод вот и все Ваш уровень junior не позволяет этого понять и отмазки последующие не зачтены. Говнокод - это архитектурная ошибки, к примеру когда не объявленному методу вдруг начинают оверлолдить или используют пробойный код безопасности или к примеру вызов простого кода opencart (как бы оригинальный код то, но в том архитектурном контексте это говнокод) дважды. А вы громогласно обвинили обычный стандартный код. И вызов include_once там обязытелен и оправдан так как это точка входа. Если вы не заметили то он вызывается не в контроллере, а как точка входа engine - фактически loader Так что давайте не делать громогласных заявлений, не подумавши и не имея квалификации определить что такое понятие говнокод Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Ваш уровень junior не позволяет этого понять и отмазки последующие не зачтены. Вы оцениваете мой уровень по количеству сообщений на этом форуме? Тогда, действительно, по сравнению с вами я даже не джун, а вообще младенец :) Говнокод - это архитектурная ошибки Использовать вместо опенкартовского лоадера прямой инклюд в контроллерах - это не архитектурная ошибка? Говоря про инклюд я сразу сказал, что это противоречит архитектуре ОК и вы так и не смогли показать хоть один контроллер в ОК, где подобное происходит, а loader.php, action.php и startup.php - никаким боком не контроллеры, а как раз те элементы архитектуры ОК, благодаря которым нет необходимости использовать прямой инклюд на более высоких уровнях. Если у вас есть необходимость в собственном лоадере, вы можете его подключить тем же образом, каким подключается оригинальный лоадер. И вызов include_once там обязытелен и оправдан так как это точка входа. Точка входа куда? Вообще, что является точкой входа зависит от конкретного языка и в случае php - это первая строка в первом файле вызова, но обычно в php точкой входа в приложение называют весь первый файл, то есть в случае ОК - это /index.php для витрины и /admin/index.php - для админки. Если вы не заметили то он вызывается не в контроллере А где тогда? В ошибках из первого поста, конечно, путь обрезан, но я не знаю в ОК других файлов с названием maintenance.php не считая языкового, но, если это вставка из языкового файла - это было бы уж совсем не смешно. Так что я уверен, что это файл /catalog/controller/common/maintenance.php. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вы оцениваете мой уровень по количеству сообщений на этом форуме? Тогда, действительно, по сравнению с вами я даже не джун, а вообще младенец :) Использовать вместо опенкартовского лоадера прямой инклюд в контроллерах Читать умеете - НЕ в контроллере Для тех кто в танке и не понимает где заканчивается код контроллера болдом даже выделил Не понимаешь архитектуру - не умничай, промолчи лучше Всё закончили - надоел, лепишь отмазки Отправляю вообще в бан у себя, надоела демагогия отмазок Бред какой то придумал что нельзя вызывать include_once в контроллерах Сам додумался ? Где написано что в контроллерах opencart нельзя вызывать include_once ? Расскажи это другим разработчикам Если надо кто хочет тот и вызывает, если в данном случае не обойтись Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Читать умеете - НЕ в контроллере Для тех кто в танке и не понимает где заканчивается код контроллера болдом даже выделил Да, с чётким выражением мыслей у вас явно проблемы. То что вы пытались сказать, называется - "не в классе контроллера", а не просто "не в контроллере", ибо слово контроллер в случае ОК обозначает и класс и его файл (в таких файлах всё равно больше нет ничего). Тем не менее, это файл контроллера, что всё равно противоречит архитектуре ОК, где действует принцип: один файл - один класс и ничего более (когда идёт речь о файлах с декларацией классов). И, что более важно, это также противоречит PSR-1 (если вы знаете, что это)! Если вы считаете, что нарушение спецификаций PSR не является гавнокодингом, то с вами, действительно, больше не о чем разговаривать. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 ... И, что более важно, это также противоречит PSR-1 (если вы знаете, что это)! :ugeek: Опять кидаетесь громогласными заявлениями и высокими фразами совершенно не понимая что в них описано По вашей "логике" opencart нарушает PSR-1 (так как содержит "побочный эффект" и объявление класса (во всем коде кстати), но там написано "не следует", а не "не позволяется", т е если в данном случае избежать невозможно, то это приходится делать) :-D Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Опять кидаетесь громогласными заявлениями и высокими фразами совершенно не понимая что в них описано Вот цитата оттуда: A file SHOULD declare new symbols (classes, functions, constants, etc.) and cause no other side effects, or it SHOULD execute logic with side effects, but SHOULD NOT do both. The phrase "side effects" means execution of logic not directly related to declaring classes, functions, constants, etc., merely from including the file. "Side effects" include but are not limited to: generating output, explicit use of require or include, connecting to external services, modifying ini settings, emitting errors or exceptions, modifying global or static variables, reading from or writing to a file, and so on. И ссылка на саму спецификацию: http://www.php-fig.org/psr/psr-1/ По вашей "логике" opencart нарушает PSR-1 (так как содержит "побочный эффект" и объявление класса (во всем коде кстати) Покажите конкретный пример из ОК. Я такого там вспомнить не могу. но там написано "не следует", а не "не позволяется", Суть гавнокодинга как раз в том, что автор такого кода плюёт на любые рекомендации, которые напрямую не влияют на работоспособность кода! А все подобные спецификации не могут быть жёсткими требованиями, а не просто рекомендациями, поскольку они напрямую не влияют на работоспособность кода, а значит никто не может заставить им следовать. И кстати, обратите внимание, что в спецификации используется should, а не may или can, так что это всё же довольно настоятельные рекомендации! т е если в данном случае избежать невозможно, то это приходится делать) Я согласен, что из-за отсутствия в ОК нормальной системы расширений, для работы некоторых модулей неизбежно использование различных костылей, но эта неизбежность не делает такой код качественным. Если во время дождя вы прикрываете голову пакетом, потому что не взяли с собой зонт - это не превращает этот пакет в зонт. Кроме того, благодаря vQmod/OCMOD (которые сами являются костылями) есть возможность добавлять свой код практически куда угодно, а потому нет необходимости создавать костыли прикрываясь их неизбежностью - модификаторы позволят обойти нерасширяемость ОК без дополнительных костылей. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вот цитата оттуда: ... Покажите конкретный пример из ОК. Я такого там вспомнить не могу. ... Ну я же говорил что не понимаете что там написано: /engine - обьявление классов (тем более final class) и "побочный эффект" include_once Вы даже не поняли что такое "побочный эффект" - изменение настроек тоже побочный эффект и много чего под него попадает. Весь opencart натыкан тогда, по вашей логике, г.. кодом. И что вы мне здесь "тулили" про контроллеры? В /engine значит можно, а в контроллерах нельзя (ваши слова). Откуда взял это, придумал сам видно. А про vqmod лучше промолчите вообще, вы в расширяемости opencart и йоты не знаете. 90% функционала что лепят разработчики opencart vqmod - м можно спокойно сделать без него, причем по стандартам php и PSR-1, только надо знать точку входа. И не надо пачить seo_pro, seo_url, да и вообще модели не надо патчить, а полностью получить контроль над всем кодом opencart (а в opencart 2. и контроль контроллеров, причем без триггеров). vQmod и ocmod - это костыли патчеры (ocmod - хоть стандарт opencart, а, vqmod это вообще 3.14) А за vQmod в opencart 2.x вообще в табло сразу бить надо тому разработчику кто сделал на нем Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. Нет, не патчер - он не патчит код ;) Он добавляет пару строк кода (чувствуете разницу - патчить код и добавлять кусок НЕ в код opencart), при этом если бы делалось через ocmod - пришлось бы перепатчить половину системных файлов для такого функционала и забыть о совместимости. А пара добавленных строк решила этот вопрос, при этом полная совместимость со всеми версиями и сборками opencart, темами, модулями ! Вот в чем самое главное. Никакие ocmod и vqmod не дали бы сделать так гибко модуль. Тем более всего парой добавленных строк НЕ в код. При этом перехватывается всё. Я могу заменить результат любой переменной, в любом контроллере (при желании в любой точке контроллера). Да с запросами там проблема. Сделаны они в opencart немного коряво - просто строками и никаких "генераторов" fw запросов. Здесь без ocmod никак к сожалению. Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Я вам по секрету скажу.. регулярка это -50% производительности. Я в курсе, что и как вы делаете. Поэтому простым ocmod в і можете сделать тоже самое... т.е. загрузить свой loader Я могу заменить результат любой переменной, в любом контроллере Я вас боюсь.. Помолчу. 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
freelancer Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 Если же эта переменная вообще не работает, а только помечает этот блок кода, то это настолько противоречит здравому смыслу, что никто в здравом уме такого даже не предположит. Если есть необходимость пометить блок кода - есть комментарии. Нет необходимости засорять код элементами, которые не являются частью логики работы программы. Следующий пункт: судя по названиям файлов - это контроллеры. Дополнять код контроллеров вставками с php тегами - это уже само по себе, как минимум некрасиво (и нарушает стиль кодинга в ОК), но если эта вставка не в конце файла (а в конце файла нет смысла восстанавливать значение переменной), то эта вставка ещё и режет код контроллера на куски. И напоследок: прямой инклюд файлов в контроллерах противоречит и архитектуре ОК и современным принципам кодинга в целом. вы когда-нибудь интересовались защитой php скриптов от нелегального использования? Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 Поискал: https://github.com/opencart/opencart/search?utf8=%E2%9C%93&q=include_once Действительно, что комментировать, если уже на include_once зафейлились. Ваши слова ? И напоследок: прямой инклюд файлов в контроллерах противоречит и архитектуре ОК и современным принципам кодинга в целом. opencart все основное грузит через include_once /engine Вопросы еще будут по include_once в opencart ? Признать свои ошибочные слова слабо видно Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 opencart все основное грузит через include_once /engine Вопросы еще будут по include_once в opencart ? Признать свои ошибочные слова слабо видно Да уж, надеюсь, код вы пишите внимательней, чем читаете сообщения, на которые отвечаете. Что во фразе "прямой инклюд файлов в контроллерах" вам непонятно? Или вы не знаете, где в ОК контроллеры? Разве я что-то говорил о том, что инклюд как таковой - это плохо? Ну а по ссылке отлично видно, что на весь ОК инклуд есть всего в трёх файлах, где без инклюда или реквайра движок просто бы не собрался в кучу. вы когда-нибудь интересовались защитой php скриптов от нелегального использования? Учитывая, что я не понимаю, как это относится к обсуждаемому коду, то, видимо, я интересовался не той защитой, о которой идёт речь. 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 Да уж, надеюсь, код вы пишите внимательней, чем читаете сообщения, на которые отвечаете. Что во фразе "прямой инклюд файлов в контроллерах" вам непонятно? Или вы не знаете, где в ОК контроллеры? Разве я что-то говорил о том, что инклюд как таковой - это плохо? Ну а по ссылке отлично видно, что на весь ОК инклуд есть всего в трёх файлах, где без инклюда или реквайра движок просто бы не собрался в кучу. И напоследок: прямой инклюд файлов в контроллерах противоречит и архитектуре ОК и современным принципам кодинга в целом. Ваши отмазки - не зачтены. В трех файлах ... основных файлах engine opencart (в maintenance.php точка входа, фактически он engine). Которые грузят почти "ВСЁ" в opencart. Не видите? Ну тогда вообще говорить не о чем. Заканчивайте отмазки, 3.14ли не в попад, так и скажите. При этом "громогласно" заявили и обвинили. Насчет безопасности freelancer правильно сказал. Не забываем что код может собираться из кусков, проверяться хеш и т.п. Не смотрите примитивно на код, с виду код который ничего не выполняет на самом деле может быть куском кода проверки защиты. Даже простая строка кода, из неё могут браться просто символы для компиляции кода защиты Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 Ваши отмазки - не зачтены. В трех файлах ... основных файлах engine opencart (в maintenance.php точка входа, фактически он engine). Которые грузят почти "ВСЁ" в opencart. Не видите? Ну тогда вообще говорить не о чем. Заканчивайте отмазки, 3.14ли не в попад, так и скажите. При этом "громогласно" заявили. Насчет безопасности freelancer правильно сказал. Не забываем что код может собираться из кусков, проверяться хеш и т.п. Марк, не обращай внимание на обелившегося админа варез-ресурса. Все посты персонажа - попытка набить репу. Не более. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Марк, не обращай внимание на обелившегося админа варез-ресурса. Все посты персонажа - попытка набить репу. Не более. И каким образом модерирование варез-форума - влияет на профессиональный уровень человека? Дорогу перешел? Или уличен в варезе? 2 Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Ваши отмазки - не зачтены. В трех файлах ... основных файлах engine opencart (в maintenance.php точка входа, фактически он engine). Которые грузят почти "ВСЁ" в opencart. Не видите? Ну тогда вообще говорить не о чем. Заканчивайте отмазки, 3.14ли не в попад, так и скажите. При этом "громогласно" заявили и обвинили. Вероятно, вы провоцируете меня на грубость, иначе я никак не могу расценить откровенное нежелание понимать о чём я говорю. Я сказал, что прямой инклюд файлов в контроллерах - это плохо, а вы показываете на опенкарстовский лоадер и говорите, что если в таком важном файле это и есть то можно пихать куда вздумается. Вам не кажется, что такими отмазками вы себя позорите? Я, кстати, когда писал своё мнение о коде, даже не обратил внимание, из какого модуля он и мой комментарий относился исключительно к тому коду, который был у меня перед глазами, а не к модулю или его автору. Если вы думаете, что мой комментарий мог сильно навредить репутации модуля или вашей, если б вы не начали тут так отчаянно защищаться, то должен сказать, что эта нелепые попытки оправдать код по принципу "сам дурак" (а не попытавшись, например, объяснить почему нужно было только так и никак иначе) - намного больше навредили вашей репутации и не только как программиста. А так бы, вероятно. никто бы даже не обратил внимание, что этот код из вашего модуля. Насчет безопасности freelancer правильно сказал. Не забываем что код может собираться из кусков, проверяться хеш и т.п. Не смотрите примитивно на код, с виду код который ничего не выполняет на самом деле может быть куском кода проверки защиты. Даже простая строка кода, из неё могут браться просто символы для компиляции кода защиты Но, вероятно, это не ваш случай, иначе вы бы сами об этом сразу сказали, а не разводили сопли. Все посты персонажа - попытка набить репу. Не более. Вот уж действительно, холивар о качестве кода - отличный способ набить репу, как я раньше то не додумался :-D Ведь когда критикуешь чей-то код, то сразу прибегает толпа людей, которые будут плюсовать и в первую очередь, конечно же, сам автор кривого кода. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вероятно... А при чем здесь модуль. Вы просто не понимаете что такое говнокод вот и все Ваш уровень junior не позволяет этого понять и отмазки последующие не зачтены. Говнокод - это архитектурная ошибки, к примеру когда не объявленному методу вдруг начинают оверлолдить или используют пробойный код безопасности или к примеру вызов простого кода opencart (как бы оригинальный код то, но в том архитектурном контексте это говнокод) дважды. А вы громогласно обвинили обычный стандартный код. И вызов include_once там обязытелен и оправдан так как это точка входа. Если вы не заметили то он вызывается не в контроллере, а как точка входа engine - фактически loader Так что давайте не делать громогласных заявлений, не подумавши и не имея квалификации определить что такое понятие говнокод Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Ваш уровень junior не позволяет этого понять и отмазки последующие не зачтены. Вы оцениваете мой уровень по количеству сообщений на этом форуме? Тогда, действительно, по сравнению с вами я даже не джун, а вообще младенец :) Говнокод - это архитектурная ошибки Использовать вместо опенкартовского лоадера прямой инклюд в контроллерах - это не архитектурная ошибка? Говоря про инклюд я сразу сказал, что это противоречит архитектуре ОК и вы так и не смогли показать хоть один контроллер в ОК, где подобное происходит, а loader.php, action.php и startup.php - никаким боком не контроллеры, а как раз те элементы архитектуры ОК, благодаря которым нет необходимости использовать прямой инклюд на более высоких уровнях. Если у вас есть необходимость в собственном лоадере, вы можете его подключить тем же образом, каким подключается оригинальный лоадер. И вызов include_once там обязытелен и оправдан так как это точка входа. Точка входа куда? Вообще, что является точкой входа зависит от конкретного языка и в случае php - это первая строка в первом файле вызова, но обычно в php точкой входа в приложение называют весь первый файл, то есть в случае ОК - это /index.php для витрины и /admin/index.php - для админки. Если вы не заметили то он вызывается не в контроллере А где тогда? В ошибках из первого поста, конечно, путь обрезан, но я не знаю в ОК других файлов с названием maintenance.php не считая языкового, но, если это вставка из языкового файла - это было бы уж совсем не смешно. Так что я уверен, что это файл /catalog/controller/common/maintenance.php. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вы оцениваете мой уровень по количеству сообщений на этом форуме? Тогда, действительно, по сравнению с вами я даже не джун, а вообще младенец :) Использовать вместо опенкартовского лоадера прямой инклюд в контроллерах Читать умеете - НЕ в контроллере Для тех кто в танке и не понимает где заканчивается код контроллера болдом даже выделил Не понимаешь архитектуру - не умничай, промолчи лучше Всё закончили - надоел, лепишь отмазки Отправляю вообще в бан у себя, надоела демагогия отмазок Бред какой то придумал что нельзя вызывать include_once в контроллерах Сам додумался ? Где написано что в контроллерах opencart нельзя вызывать include_once ? Расскажи это другим разработчикам Если надо кто хочет тот и вызывает, если в данном случае не обойтись Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Читать умеете - НЕ в контроллере Для тех кто в танке и не понимает где заканчивается код контроллера болдом даже выделил Да, с чётким выражением мыслей у вас явно проблемы. То что вы пытались сказать, называется - "не в классе контроллера", а не просто "не в контроллере", ибо слово контроллер в случае ОК обозначает и класс и его файл (в таких файлах всё равно больше нет ничего). Тем не менее, это файл контроллера, что всё равно противоречит архитектуре ОК, где действует принцип: один файл - один класс и ничего более (когда идёт речь о файлах с декларацией классов). И, что более важно, это также противоречит PSR-1 (если вы знаете, что это)! Если вы считаете, что нарушение спецификаций PSR не является гавнокодингом, то с вами, действительно, больше не о чем разговаривать. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 ... И, что более важно, это также противоречит PSR-1 (если вы знаете, что это)! :ugeek: Опять кидаетесь громогласными заявлениями и высокими фразами совершенно не понимая что в них описано По вашей "логике" opencart нарушает PSR-1 (так как содержит "побочный эффект" и объявление класса (во всем коде кстати), но там написано "не следует", а не "не позволяется", т е если в данном случае избежать невозможно, то это приходится делать) :-D Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Опять кидаетесь громогласными заявлениями и высокими фразами совершенно не понимая что в них описано Вот цитата оттуда: A file SHOULD declare new symbols (classes, functions, constants, etc.) and cause no other side effects, or it SHOULD execute logic with side effects, but SHOULD NOT do both. The phrase "side effects" means execution of logic not directly related to declaring classes, functions, constants, etc., merely from including the file. "Side effects" include but are not limited to: generating output, explicit use of require or include, connecting to external services, modifying ini settings, emitting errors or exceptions, modifying global or static variables, reading from or writing to a file, and so on. И ссылка на саму спецификацию: http://www.php-fig.org/psr/psr-1/ По вашей "логике" opencart нарушает PSR-1 (так как содержит "побочный эффект" и объявление класса (во всем коде кстати) Покажите конкретный пример из ОК. Я такого там вспомнить не могу. но там написано "не следует", а не "не позволяется", Суть гавнокодинга как раз в том, что автор такого кода плюёт на любые рекомендации, которые напрямую не влияют на работоспособность кода! А все подобные спецификации не могут быть жёсткими требованиями, а не просто рекомендациями, поскольку они напрямую не влияют на работоспособность кода, а значит никто не может заставить им следовать. И кстати, обратите внимание, что в спецификации используется should, а не may или can, так что это всё же довольно настоятельные рекомендации! т е если в данном случае избежать невозможно, то это приходится делать) Я согласен, что из-за отсутствия в ОК нормальной системы расширений, для работы некоторых модулей неизбежно использование различных костылей, но эта неизбежность не делает такой код качественным. Если во время дождя вы прикрываете голову пакетом, потому что не взяли с собой зонт - это не превращает этот пакет в зонт. Кроме того, благодаря vQmod/OCMOD (которые сами являются костылями) есть возможность добавлять свой код практически куда угодно, а потому нет необходимости создавать костыли прикрываясь их неизбежностью - модификаторы позволят обойти нерасширяемость ОК без дополнительных костылей. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вот цитата оттуда: ... Покажите конкретный пример из ОК. Я такого там вспомнить не могу. ... Ну я же говорил что не понимаете что там написано: /engine - обьявление классов (тем более final class) и "побочный эффект" include_once Вы даже не поняли что такое "побочный эффект" - изменение настроек тоже побочный эффект и много чего под него попадает. Весь opencart натыкан тогда, по вашей логике, г.. кодом. И что вы мне здесь "тулили" про контроллеры? В /engine значит можно, а в контроллерах нельзя (ваши слова). Откуда взял это, придумал сам видно. А про vqmod лучше промолчите вообще, вы в расширяемости opencart и йоты не знаете. 90% функционала что лепят разработчики opencart vqmod - м можно спокойно сделать без него, причем по стандартам php и PSR-1, только надо знать точку входа. И не надо пачить seo_pro, seo_url, да и вообще модели не надо патчить, а полностью получить контроль над всем кодом opencart (а в opencart 2. и контроль контроллеров, причем без триггеров). vQmod и ocmod - это костыли патчеры (ocmod - хоть стандарт opencart, а, vqmod это вообще 3.14) А за vQmod в opencart 2.x вообще в табло сразу бить надо тому разработчику кто сделал на нем Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. Нет, не патчер - он не патчит код ;) Он добавляет пару строк кода (чувствуете разницу - патчить код и добавлять кусок НЕ в код opencart), при этом если бы делалось через ocmod - пришлось бы перепатчить половину системных файлов для такого функционала и забыть о совместимости. А пара добавленных строк решила этот вопрос, при этом полная совместимость со всеми версиями и сборками opencart, темами, модулями ! Вот в чем самое главное. Никакие ocmod и vqmod не дали бы сделать так гибко модуль. Тем более всего парой добавленных строк НЕ в код. При этом перехватывается всё. Я могу заменить результат любой переменной, в любом контроллере (при желании в любой точке контроллера). Да с запросами там проблема. Сделаны они в opencart немного коряво - просто строками и никаких "генераторов" fw запросов. Здесь без ocmod никак к сожалению. Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Я вам по секрету скажу.. регулярка это -50% производительности. Я в курсе, что и как вы делаете. Поэтому простым ocmod в і можете сделать тоже самое... т.е. загрузить свой loader Я могу заменить результат любой переменной, в любом контроллере Я вас боюсь.. Помолчу. 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
markimax Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 Поискал: https://github.com/opencart/opencart/search?utf8=%E2%9C%93&q=include_once Действительно, что комментировать, если уже на include_once зафейлились. Ваши слова ? И напоследок: прямой инклюд файлов в контроллерах противоречит и архитектуре ОК и современным принципам кодинга в целом. opencart все основное грузит через include_once /engine Вопросы еще будут по include_once в opencart ? Признать свои ошибочные слова слабо видно Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 opencart все основное грузит через include_once /engine Вопросы еще будут по include_once в opencart ? Признать свои ошибочные слова слабо видно Да уж, надеюсь, код вы пишите внимательней, чем читаете сообщения, на которые отвечаете. Что во фразе "прямой инклюд файлов в контроллерах" вам непонятно? Или вы не знаете, где в ОК контроллеры? Разве я что-то говорил о том, что инклюд как таковой - это плохо? Ну а по ссылке отлично видно, что на весь ОК инклуд есть всего в трёх файлах, где без инклюда или реквайра движок просто бы не собрался в кучу. вы когда-нибудь интересовались защитой php скриптов от нелегального использования? Учитывая, что я не понимаю, как это относится к обсуждаемому коду, то, видимо, я интересовался не той защитой, о которой идёт речь. 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 Да уж, надеюсь, код вы пишите внимательней, чем читаете сообщения, на которые отвечаете. Что во фразе "прямой инклюд файлов в контроллерах" вам непонятно? Или вы не знаете, где в ОК контроллеры? Разве я что-то говорил о том, что инклюд как таковой - это плохо? Ну а по ссылке отлично видно, что на весь ОК инклуд есть всего в трёх файлах, где без инклюда или реквайра движок просто бы не собрался в кучу. И напоследок: прямой инклюд файлов в контроллерах противоречит и архитектуре ОК и современным принципам кодинга в целом. Ваши отмазки - не зачтены. В трех файлах ... основных файлах engine opencart (в maintenance.php точка входа, фактически он engine). Которые грузят почти "ВСЁ" в opencart. Не видите? Ну тогда вообще говорить не о чем. Заканчивайте отмазки, 3.14ли не в попад, так и скажите. При этом "громогласно" заявили и обвинили. Насчет безопасности freelancer правильно сказал. Не забываем что код может собираться из кусков, проверяться хеш и т.п. Не смотрите примитивно на код, с виду код который ничего не выполняет на самом деле может быть куском кода проверки защиты. Даже простая строка кода, из неё могут браться просто символы для компиляции кода защиты Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 Ваши отмазки - не зачтены. В трех файлах ... основных файлах engine opencart (в maintenance.php точка входа, фактически он engine). Которые грузят почти "ВСЁ" в opencart. Не видите? Ну тогда вообще говорить не о чем. Заканчивайте отмазки, 3.14ли не в попад, так и скажите. При этом "громогласно" заявили. Насчет безопасности freelancer правильно сказал. Не забываем что код может собираться из кусков, проверяться хеш и т.п. Марк, не обращай внимание на обелившегося админа варез-ресурса. Все посты персонажа - попытка набить репу. Не более. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Марк, не обращай внимание на обелившегося админа варез-ресурса. Все посты персонажа - попытка набить репу. Не более. И каким образом модерирование варез-форума - влияет на профессиональный уровень человека? Дорогу перешел? Или уличен в варезе? 2 Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Ваши отмазки - не зачтены. В трех файлах ... основных файлах engine opencart (в maintenance.php точка входа, фактически он engine). Которые грузят почти "ВСЁ" в opencart. Не видите? Ну тогда вообще говорить не о чем. Заканчивайте отмазки, 3.14ли не в попад, так и скажите. При этом "громогласно" заявили и обвинили. Вероятно, вы провоцируете меня на грубость, иначе я никак не могу расценить откровенное нежелание понимать о чём я говорю. Я сказал, что прямой инклюд файлов в контроллерах - это плохо, а вы показываете на опенкарстовский лоадер и говорите, что если в таком важном файле это и есть то можно пихать куда вздумается. Вам не кажется, что такими отмазками вы себя позорите? Я, кстати, когда писал своё мнение о коде, даже не обратил внимание, из какого модуля он и мой комментарий относился исключительно к тому коду, который был у меня перед глазами, а не к модулю или его автору. Если вы думаете, что мой комментарий мог сильно навредить репутации модуля или вашей, если б вы не начали тут так отчаянно защищаться, то должен сказать, что эта нелепые попытки оправдать код по принципу "сам дурак" (а не попытавшись, например, объяснить почему нужно было только так и никак иначе) - намного больше навредили вашей репутации и не только как программиста. А так бы, вероятно. никто бы даже не обратил внимание, что этот код из вашего модуля. Насчет безопасности freelancer правильно сказал. Не забываем что код может собираться из кусков, проверяться хеш и т.п. Не смотрите примитивно на код, с виду код который ничего не выполняет на самом деле может быть куском кода проверки защиты. Даже простая строка кода, из неё могут браться просто символы для компиляции кода защиты Но, вероятно, это не ваш случай, иначе вы бы сами об этом сразу сказали, а не разводили сопли. Все посты персонажа - попытка набить репу. Не более. Вот уж действительно, холивар о качестве кода - отличный способ набить репу, как я раньше то не додумался :-D Ведь когда критикуешь чей-то код, то сразу прибегает толпа людей, которые будут плюсовать и в первую очередь, конечно же, сам автор кривого кода. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вероятно... А при чем здесь модуль. Вы просто не понимаете что такое говнокод вот и все Ваш уровень junior не позволяет этого понять и отмазки последующие не зачтены. Говнокод - это архитектурная ошибки, к примеру когда не объявленному методу вдруг начинают оверлолдить или используют пробойный код безопасности или к примеру вызов простого кода opencart (как бы оригинальный код то, но в том архитектурном контексте это говнокод) дважды. А вы громогласно обвинили обычный стандартный код. И вызов include_once там обязытелен и оправдан так как это точка входа. Если вы не заметили то он вызывается не в контроллере, а как точка входа engine - фактически loader Так что давайте не делать громогласных заявлений, не подумавши и не имея квалификации определить что такое понятие говнокод Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Ваш уровень junior не позволяет этого понять и отмазки последующие не зачтены. Вы оцениваете мой уровень по количеству сообщений на этом форуме? Тогда, действительно, по сравнению с вами я даже не джун, а вообще младенец :) Говнокод - это архитектурная ошибки Использовать вместо опенкартовского лоадера прямой инклюд в контроллерах - это не архитектурная ошибка? Говоря про инклюд я сразу сказал, что это противоречит архитектуре ОК и вы так и не смогли показать хоть один контроллер в ОК, где подобное происходит, а loader.php, action.php и startup.php - никаким боком не контроллеры, а как раз те элементы архитектуры ОК, благодаря которым нет необходимости использовать прямой инклюд на более высоких уровнях. Если у вас есть необходимость в собственном лоадере, вы можете его подключить тем же образом, каким подключается оригинальный лоадер. И вызов include_once там обязытелен и оправдан так как это точка входа. Точка входа куда? Вообще, что является точкой входа зависит от конкретного языка и в случае php - это первая строка в первом файле вызова, но обычно в php точкой входа в приложение называют весь первый файл, то есть в случае ОК - это /index.php для витрины и /admin/index.php - для админки. Если вы не заметили то он вызывается не в контроллере А где тогда? В ошибках из первого поста, конечно, путь обрезан, но я не знаю в ОК других файлов с названием maintenance.php не считая языкового, но, если это вставка из языкового файла - это было бы уж совсем не смешно. Так что я уверен, что это файл /catalog/controller/common/maintenance.php. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вы оцениваете мой уровень по количеству сообщений на этом форуме? Тогда, действительно, по сравнению с вами я даже не джун, а вообще младенец :) Использовать вместо опенкартовского лоадера прямой инклюд в контроллерах Читать умеете - НЕ в контроллере Для тех кто в танке и не понимает где заканчивается код контроллера болдом даже выделил Не понимаешь архитектуру - не умничай, промолчи лучше Всё закончили - надоел, лепишь отмазки Отправляю вообще в бан у себя, надоела демагогия отмазок Бред какой то придумал что нельзя вызывать include_once в контроллерах Сам додумался ? Где написано что в контроллерах opencart нельзя вызывать include_once ? Расскажи это другим разработчикам Если надо кто хочет тот и вызывает, если в данном случае не обойтись Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Читать умеете - НЕ в контроллере Для тех кто в танке и не понимает где заканчивается код контроллера болдом даже выделил Да, с чётким выражением мыслей у вас явно проблемы. То что вы пытались сказать, называется - "не в классе контроллера", а не просто "не в контроллере", ибо слово контроллер в случае ОК обозначает и класс и его файл (в таких файлах всё равно больше нет ничего). Тем не менее, это файл контроллера, что всё равно противоречит архитектуре ОК, где действует принцип: один файл - один класс и ничего более (когда идёт речь о файлах с декларацией классов). И, что более важно, это также противоречит PSR-1 (если вы знаете, что это)! Если вы считаете, что нарушение спецификаций PSR не является гавнокодингом, то с вами, действительно, больше не о чем разговаривать. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 ... И, что более важно, это также противоречит PSR-1 (если вы знаете, что это)! :ugeek: Опять кидаетесь громогласными заявлениями и высокими фразами совершенно не понимая что в них описано По вашей "логике" opencart нарушает PSR-1 (так как содержит "побочный эффект" и объявление класса (во всем коде кстати), но там написано "не следует", а не "не позволяется", т е если в данном случае избежать невозможно, то это приходится делать) :-D Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Опять кидаетесь громогласными заявлениями и высокими фразами совершенно не понимая что в них описано Вот цитата оттуда: A file SHOULD declare new symbols (classes, functions, constants, etc.) and cause no other side effects, or it SHOULD execute logic with side effects, but SHOULD NOT do both. The phrase "side effects" means execution of logic not directly related to declaring classes, functions, constants, etc., merely from including the file. "Side effects" include but are not limited to: generating output, explicit use of require or include, connecting to external services, modifying ini settings, emitting errors or exceptions, modifying global or static variables, reading from or writing to a file, and so on. И ссылка на саму спецификацию: http://www.php-fig.org/psr/psr-1/ По вашей "логике" opencart нарушает PSR-1 (так как содержит "побочный эффект" и объявление класса (во всем коде кстати) Покажите конкретный пример из ОК. Я такого там вспомнить не могу. но там написано "не следует", а не "не позволяется", Суть гавнокодинга как раз в том, что автор такого кода плюёт на любые рекомендации, которые напрямую не влияют на работоспособность кода! А все подобные спецификации не могут быть жёсткими требованиями, а не просто рекомендациями, поскольку они напрямую не влияют на работоспособность кода, а значит никто не может заставить им следовать. И кстати, обратите внимание, что в спецификации используется should, а не may или can, так что это всё же довольно настоятельные рекомендации! т е если в данном случае избежать невозможно, то это приходится делать) Я согласен, что из-за отсутствия в ОК нормальной системы расширений, для работы некоторых модулей неизбежно использование различных костылей, но эта неизбежность не делает такой код качественным. Если во время дождя вы прикрываете голову пакетом, потому что не взяли с собой зонт - это не превращает этот пакет в зонт. Кроме того, благодаря vQmod/OCMOD (которые сами являются костылями) есть возможность добавлять свой код практически куда угодно, а потому нет необходимости создавать костыли прикрываясь их неизбежностью - модификаторы позволят обойти нерасширяемость ОК без дополнительных костылей. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вот цитата оттуда: ... Покажите конкретный пример из ОК. Я такого там вспомнить не могу. ... Ну я же говорил что не понимаете что там написано: /engine - обьявление классов (тем более final class) и "побочный эффект" include_once Вы даже не поняли что такое "побочный эффект" - изменение настроек тоже побочный эффект и много чего под него попадает. Весь opencart натыкан тогда, по вашей логике, г.. кодом. И что вы мне здесь "тулили" про контроллеры? В /engine значит можно, а в контроллерах нельзя (ваши слова). Откуда взял это, придумал сам видно. А про vqmod лучше промолчите вообще, вы в расширяемости opencart и йоты не знаете. 90% функционала что лепят разработчики opencart vqmod - м можно спокойно сделать без него, причем по стандартам php и PSR-1, только надо знать точку входа. И не надо пачить seo_pro, seo_url, да и вообще модели не надо патчить, а полностью получить контроль над всем кодом opencart (а в opencart 2. и контроль контроллеров, причем без триггеров). vQmod и ocmod - это костыли патчеры (ocmod - хоть стандарт opencart, а, vqmod это вообще 3.14) А за vQmod в opencart 2.x вообще в табло сразу бить надо тому разработчику кто сделал на нем Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. Нет, не патчер - он не патчит код ;) Он добавляет пару строк кода (чувствуете разницу - патчить код и добавлять кусок НЕ в код opencart), при этом если бы делалось через ocmod - пришлось бы перепатчить половину системных файлов для такого функционала и забыть о совместимости. А пара добавленных строк решила этот вопрос, при этом полная совместимость со всеми версиями и сборками opencart, темами, модулями ! Вот в чем самое главное. Никакие ocmod и vqmod не дали бы сделать так гибко модуль. Тем более всего парой добавленных строк НЕ в код. При этом перехватывается всё. Я могу заменить результат любой переменной, в любом контроллере (при желании в любой точке контроллера). Да с запросами там проблема. Сделаны они в opencart немного коряво - просто строками и никаких "генераторов" fw запросов. Здесь без ocmod никак к сожалению. Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Я вам по секрету скажу.. регулярка это -50% производительности. Я в курсе, что и как вы делаете. Поэтому простым ocmod в і можете сделать тоже самое... т.е. загрузить свой loader Я могу заменить результат любой переменной, в любом контроллере Я вас боюсь.. Помолчу. 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Dotrox Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 opencart все основное грузит через include_once /engine Вопросы еще будут по include_once в opencart ? Признать свои ошибочные слова слабо видно Да уж, надеюсь, код вы пишите внимательней, чем читаете сообщения, на которые отвечаете. Что во фразе "прямой инклюд файлов в контроллерах" вам непонятно? Или вы не знаете, где в ОК контроллеры? Разве я что-то говорил о том, что инклюд как таковой - это плохо? Ну а по ссылке отлично видно, что на весь ОК инклуд есть всего в трёх файлах, где без инклюда или реквайра движок просто бы не собрался в кучу. вы когда-нибудь интересовались защитой php скриптов от нелегального использования? Учитывая, что я не понимаю, как это относится к обсуждаемому коду, то, видимо, я интересовался не той защитой, о которой идёт речь. 1 Надіслати Поділитися на інших сайтах More sharing options...
markimax Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 Да уж, надеюсь, код вы пишите внимательней, чем читаете сообщения, на которые отвечаете. Что во фразе "прямой инклюд файлов в контроллерах" вам непонятно? Или вы не знаете, где в ОК контроллеры? Разве я что-то говорил о том, что инклюд как таковой - это плохо? Ну а по ссылке отлично видно, что на весь ОК инклуд есть всего в трёх файлах, где без инклюда или реквайра движок просто бы не собрался в кучу. И напоследок: прямой инклюд файлов в контроллерах противоречит и архитектуре ОК и современным принципам кодинга в целом. Ваши отмазки - не зачтены. В трех файлах ... основных файлах engine opencart (в maintenance.php точка входа, фактически он engine). Которые грузят почти "ВСЁ" в opencart. Не видите? Ну тогда вообще говорить не о чем. Заканчивайте отмазки, 3.14ли не в попад, так и скажите. При этом "громогласно" заявили и обвинили. Насчет безопасности freelancer правильно сказал. Не забываем что код может собираться из кусков, проверяться хеш и т.п. Не смотрите примитивно на код, с виду код который ничего не выполняет на самом деле может быть куском кода проверки защиты. Даже простая строка кода, из неё могут браться просто символы для компиляции кода защиты Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 Ваши отмазки - не зачтены. В трех файлах ... основных файлах engine opencart (в maintenance.php точка входа, фактически он engine). Которые грузят почти "ВСЁ" в opencart. Не видите? Ну тогда вообще говорить не о чем. Заканчивайте отмазки, 3.14ли не в попад, так и скажите. При этом "громогласно" заявили. Насчет безопасности freelancer правильно сказал. Не забываем что код может собираться из кусков, проверяться хеш и т.п. Марк, не обращай внимание на обелившегося админа варез-ресурса. Все посты персонажа - попытка набить репу. Не более. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Марк, не обращай внимание на обелившегося админа варез-ресурса. Все посты персонажа - попытка набить репу. Не более. И каким образом модерирование варез-форума - влияет на профессиональный уровень человека? Дорогу перешел? Или уличен в варезе? 2 Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Ваши отмазки - не зачтены. В трех файлах ... основных файлах engine opencart (в maintenance.php точка входа, фактически он engine). Которые грузят почти "ВСЁ" в opencart. Не видите? Ну тогда вообще говорить не о чем. Заканчивайте отмазки, 3.14ли не в попад, так и скажите. При этом "громогласно" заявили и обвинили. Вероятно, вы провоцируете меня на грубость, иначе я никак не могу расценить откровенное нежелание понимать о чём я говорю. Я сказал, что прямой инклюд файлов в контроллерах - это плохо, а вы показываете на опенкарстовский лоадер и говорите, что если в таком важном файле это и есть то можно пихать куда вздумается. Вам не кажется, что такими отмазками вы себя позорите? Я, кстати, когда писал своё мнение о коде, даже не обратил внимание, из какого модуля он и мой комментарий относился исключительно к тому коду, который был у меня перед глазами, а не к модулю или его автору. Если вы думаете, что мой комментарий мог сильно навредить репутации модуля или вашей, если б вы не начали тут так отчаянно защищаться, то должен сказать, что эта нелепые попытки оправдать код по принципу "сам дурак" (а не попытавшись, например, объяснить почему нужно было только так и никак иначе) - намного больше навредили вашей репутации и не только как программиста. А так бы, вероятно. никто бы даже не обратил внимание, что этот код из вашего модуля. Насчет безопасности freelancer правильно сказал. Не забываем что код может собираться из кусков, проверяться хеш и т.п. Не смотрите примитивно на код, с виду код который ничего не выполняет на самом деле может быть куском кода проверки защиты. Даже простая строка кода, из неё могут браться просто символы для компиляции кода защиты Но, вероятно, это не ваш случай, иначе вы бы сами об этом сразу сказали, а не разводили сопли. Все посты персонажа - попытка набить репу. Не более. Вот уж действительно, холивар о качестве кода - отличный способ набить репу, как я раньше то не додумался :-D Ведь когда критикуешь чей-то код, то сразу прибегает толпа людей, которые будут плюсовать и в первую очередь, конечно же, сам автор кривого кода. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вероятно... А при чем здесь модуль. Вы просто не понимаете что такое говнокод вот и все Ваш уровень junior не позволяет этого понять и отмазки последующие не зачтены. Говнокод - это архитектурная ошибки, к примеру когда не объявленному методу вдруг начинают оверлолдить или используют пробойный код безопасности или к примеру вызов простого кода opencart (как бы оригинальный код то, но в том архитектурном контексте это говнокод) дважды. А вы громогласно обвинили обычный стандартный код. И вызов include_once там обязытелен и оправдан так как это точка входа. Если вы не заметили то он вызывается не в контроллере, а как точка входа engine - фактически loader Так что давайте не делать громогласных заявлений, не подумавши и не имея квалификации определить что такое понятие говнокод Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Ваш уровень junior не позволяет этого понять и отмазки последующие не зачтены. Вы оцениваете мой уровень по количеству сообщений на этом форуме? Тогда, действительно, по сравнению с вами я даже не джун, а вообще младенец :) Говнокод - это архитектурная ошибки Использовать вместо опенкартовского лоадера прямой инклюд в контроллерах - это не архитектурная ошибка? Говоря про инклюд я сразу сказал, что это противоречит архитектуре ОК и вы так и не смогли показать хоть один контроллер в ОК, где подобное происходит, а loader.php, action.php и startup.php - никаким боком не контроллеры, а как раз те элементы архитектуры ОК, благодаря которым нет необходимости использовать прямой инклюд на более высоких уровнях. Если у вас есть необходимость в собственном лоадере, вы можете его подключить тем же образом, каким подключается оригинальный лоадер. И вызов include_once там обязытелен и оправдан так как это точка входа. Точка входа куда? Вообще, что является точкой входа зависит от конкретного языка и в случае php - это первая строка в первом файле вызова, но обычно в php точкой входа в приложение называют весь первый файл, то есть в случае ОК - это /index.php для витрины и /admin/index.php - для админки. Если вы не заметили то он вызывается не в контроллере А где тогда? В ошибках из первого поста, конечно, путь обрезан, но я не знаю в ОК других файлов с названием maintenance.php не считая языкового, но, если это вставка из языкового файла - это было бы уж совсем не смешно. Так что я уверен, что это файл /catalog/controller/common/maintenance.php. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вы оцениваете мой уровень по количеству сообщений на этом форуме? Тогда, действительно, по сравнению с вами я даже не джун, а вообще младенец :) Использовать вместо опенкартовского лоадера прямой инклюд в контроллерах Читать умеете - НЕ в контроллере Для тех кто в танке и не понимает где заканчивается код контроллера болдом даже выделил Не понимаешь архитектуру - не умничай, промолчи лучше Всё закончили - надоел, лепишь отмазки Отправляю вообще в бан у себя, надоела демагогия отмазок Бред какой то придумал что нельзя вызывать include_once в контроллерах Сам додумался ? Где написано что в контроллерах opencart нельзя вызывать include_once ? Расскажи это другим разработчикам Если надо кто хочет тот и вызывает, если в данном случае не обойтись Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Читать умеете - НЕ в контроллере Для тех кто в танке и не понимает где заканчивается код контроллера болдом даже выделил Да, с чётким выражением мыслей у вас явно проблемы. То что вы пытались сказать, называется - "не в классе контроллера", а не просто "не в контроллере", ибо слово контроллер в случае ОК обозначает и класс и его файл (в таких файлах всё равно больше нет ничего). Тем не менее, это файл контроллера, что всё равно противоречит архитектуре ОК, где действует принцип: один файл - один класс и ничего более (когда идёт речь о файлах с декларацией классов). И, что более важно, это также противоречит PSR-1 (если вы знаете, что это)! Если вы считаете, что нарушение спецификаций PSR не является гавнокодингом, то с вами, действительно, больше не о чем разговаривать. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 ... И, что более важно, это также противоречит PSR-1 (если вы знаете, что это)! :ugeek: Опять кидаетесь громогласными заявлениями и высокими фразами совершенно не понимая что в них описано По вашей "логике" opencart нарушает PSR-1 (так как содержит "побочный эффект" и объявление класса (во всем коде кстати), но там написано "не следует", а не "не позволяется", т е если в данном случае избежать невозможно, то это приходится делать) :-D Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Опять кидаетесь громогласными заявлениями и высокими фразами совершенно не понимая что в них описано Вот цитата оттуда: A file SHOULD declare new symbols (classes, functions, constants, etc.) and cause no other side effects, or it SHOULD execute logic with side effects, but SHOULD NOT do both. The phrase "side effects" means execution of logic not directly related to declaring classes, functions, constants, etc., merely from including the file. "Side effects" include but are not limited to: generating output, explicit use of require or include, connecting to external services, modifying ini settings, emitting errors or exceptions, modifying global or static variables, reading from or writing to a file, and so on. И ссылка на саму спецификацию: http://www.php-fig.org/psr/psr-1/ По вашей "логике" opencart нарушает PSR-1 (так как содержит "побочный эффект" и объявление класса (во всем коде кстати) Покажите конкретный пример из ОК. Я такого там вспомнить не могу. но там написано "не следует", а не "не позволяется", Суть гавнокодинга как раз в том, что автор такого кода плюёт на любые рекомендации, которые напрямую не влияют на работоспособность кода! А все подобные спецификации не могут быть жёсткими требованиями, а не просто рекомендациями, поскольку они напрямую не влияют на работоспособность кода, а значит никто не может заставить им следовать. И кстати, обратите внимание, что в спецификации используется should, а не may или can, так что это всё же довольно настоятельные рекомендации! т е если в данном случае избежать невозможно, то это приходится делать) Я согласен, что из-за отсутствия в ОК нормальной системы расширений, для работы некоторых модулей неизбежно использование различных костылей, но эта неизбежность не делает такой код качественным. Если во время дождя вы прикрываете голову пакетом, потому что не взяли с собой зонт - это не превращает этот пакет в зонт. Кроме того, благодаря vQmod/OCMOD (которые сами являются костылями) есть возможность добавлять свой код практически куда угодно, а потому нет необходимости создавать костыли прикрываясь их неизбежностью - модификаторы позволят обойти нерасширяемость ОК без дополнительных костылей. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вот цитата оттуда: ... Покажите конкретный пример из ОК. Я такого там вспомнить не могу. ... Ну я же говорил что не понимаете что там написано: /engine - обьявление классов (тем более final class) и "побочный эффект" include_once Вы даже не поняли что такое "побочный эффект" - изменение настроек тоже побочный эффект и много чего под него попадает. Весь opencart натыкан тогда, по вашей логике, г.. кодом. И что вы мне здесь "тулили" про контроллеры? В /engine значит можно, а в контроллерах нельзя (ваши слова). Откуда взял это, придумал сам видно. А про vqmod лучше промолчите вообще, вы в расширяемости opencart и йоты не знаете. 90% функционала что лепят разработчики opencart vqmod - м можно спокойно сделать без него, причем по стандартам php и PSR-1, только надо знать точку входа. И не надо пачить seo_pro, seo_url, да и вообще модели не надо патчить, а полностью получить контроль над всем кодом opencart (а в opencart 2. и контроль контроллеров, причем без триггеров). vQmod и ocmod - это костыли патчеры (ocmod - хоть стандарт opencart, а, vqmod это вообще 3.14) А за vQmod в opencart 2.x вообще в табло сразу бить надо тому разработчику кто сделал на нем Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. Нет, не патчер - он не патчит код ;) Он добавляет пару строк кода (чувствуете разницу - патчить код и добавлять кусок НЕ в код opencart), при этом если бы делалось через ocmod - пришлось бы перепатчить половину системных файлов для такого функционала и забыть о совместимости. А пара добавленных строк решила этот вопрос, при этом полная совместимость со всеми версиями и сборками opencart, темами, модулями ! Вот в чем самое главное. Никакие ocmod и vqmod не дали бы сделать так гибко модуль. Тем более всего парой добавленных строк НЕ в код. При этом перехватывается всё. Я могу заменить результат любой переменной, в любом контроллере (при желании в любой точке контроллера). Да с запросами там проблема. Сделаны они в opencart немного коряво - просто строками и никаких "генераторов" fw запросов. Здесь без ocmod никак к сожалению. Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Я вам по секрету скажу.. регулярка это -50% производительности. Я в курсе, что и как вы делаете. Поэтому простым ocmod в і можете сделать тоже самое... т.е. загрузить свой loader Я могу заменить результат любой переменной, в любом контроллере Я вас боюсь.. Помолчу. 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
snastik Опубліковано: 1 серпня 2016 Share Опубліковано: 1 серпня 2016 Ваши отмазки - не зачтены. В трех файлах ... основных файлах engine opencart (в maintenance.php точка входа, фактически он engine). Которые грузят почти "ВСЁ" в opencart. Не видите? Ну тогда вообще говорить не о чем. Заканчивайте отмазки, 3.14ли не в попад, так и скажите. При этом "громогласно" заявили. Насчет безопасности freelancer правильно сказал. Не забываем что код может собираться из кусков, проверяться хеш и т.п. Марк, не обращай внимание на обелившегося админа варез-ресурса. Все посты персонажа - попытка набить репу. Не более. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Марк, не обращай внимание на обелившегося админа варез-ресурса. Все посты персонажа - попытка набить репу. Не более. И каким образом модерирование варез-форума - влияет на профессиональный уровень человека? Дорогу перешел? Или уличен в варезе? 2 Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Ваши отмазки - не зачтены. В трех файлах ... основных файлах engine opencart (в maintenance.php точка входа, фактически он engine). Которые грузят почти "ВСЁ" в opencart. Не видите? Ну тогда вообще говорить не о чем. Заканчивайте отмазки, 3.14ли не в попад, так и скажите. При этом "громогласно" заявили и обвинили. Вероятно, вы провоцируете меня на грубость, иначе я никак не могу расценить откровенное нежелание понимать о чём я говорю. Я сказал, что прямой инклюд файлов в контроллерах - это плохо, а вы показываете на опенкарстовский лоадер и говорите, что если в таком важном файле это и есть то можно пихать куда вздумается. Вам не кажется, что такими отмазками вы себя позорите? Я, кстати, когда писал своё мнение о коде, даже не обратил внимание, из какого модуля он и мой комментарий относился исключительно к тому коду, который был у меня перед глазами, а не к модулю или его автору. Если вы думаете, что мой комментарий мог сильно навредить репутации модуля или вашей, если б вы не начали тут так отчаянно защищаться, то должен сказать, что эта нелепые попытки оправдать код по принципу "сам дурак" (а не попытавшись, например, объяснить почему нужно было только так и никак иначе) - намного больше навредили вашей репутации и не только как программиста. А так бы, вероятно. никто бы даже не обратил внимание, что этот код из вашего модуля. Насчет безопасности freelancer правильно сказал. Не забываем что код может собираться из кусков, проверяться хеш и т.п. Не смотрите примитивно на код, с виду код который ничего не выполняет на самом деле может быть куском кода проверки защиты. Даже простая строка кода, из неё могут браться просто символы для компиляции кода защиты Но, вероятно, это не ваш случай, иначе вы бы сами об этом сразу сказали, а не разводили сопли. Все посты персонажа - попытка набить репу. Не более. Вот уж действительно, холивар о качестве кода - отличный способ набить репу, как я раньше то не додумался :-D Ведь когда критикуешь чей-то код, то сразу прибегает толпа людей, которые будут плюсовать и в первую очередь, конечно же, сам автор кривого кода. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вероятно... А при чем здесь модуль. Вы просто не понимаете что такое говнокод вот и все Ваш уровень junior не позволяет этого понять и отмазки последующие не зачтены. Говнокод - это архитектурная ошибки, к примеру когда не объявленному методу вдруг начинают оверлолдить или используют пробойный код безопасности или к примеру вызов простого кода opencart (как бы оригинальный код то, но в том архитектурном контексте это говнокод) дважды. А вы громогласно обвинили обычный стандартный код. И вызов include_once там обязытелен и оправдан так как это точка входа. Если вы не заметили то он вызывается не в контроллере, а как точка входа engine - фактически loader Так что давайте не делать громогласных заявлений, не подумавши и не имея квалификации определить что такое понятие говнокод Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Ваш уровень junior не позволяет этого понять и отмазки последующие не зачтены. Вы оцениваете мой уровень по количеству сообщений на этом форуме? Тогда, действительно, по сравнению с вами я даже не джун, а вообще младенец :) Говнокод - это архитектурная ошибки Использовать вместо опенкартовского лоадера прямой инклюд в контроллерах - это не архитектурная ошибка? Говоря про инклюд я сразу сказал, что это противоречит архитектуре ОК и вы так и не смогли показать хоть один контроллер в ОК, где подобное происходит, а loader.php, action.php и startup.php - никаким боком не контроллеры, а как раз те элементы архитектуры ОК, благодаря которым нет необходимости использовать прямой инклюд на более высоких уровнях. Если у вас есть необходимость в собственном лоадере, вы можете его подключить тем же образом, каким подключается оригинальный лоадер. И вызов include_once там обязытелен и оправдан так как это точка входа. Точка входа куда? Вообще, что является точкой входа зависит от конкретного языка и в случае php - это первая строка в первом файле вызова, но обычно в php точкой входа в приложение называют весь первый файл, то есть в случае ОК - это /index.php для витрины и /admin/index.php - для админки. Если вы не заметили то он вызывается не в контроллере А где тогда? В ошибках из первого поста, конечно, путь обрезан, но я не знаю в ОК других файлов с названием maintenance.php не считая языкового, но, если это вставка из языкового файла - это было бы уж совсем не смешно. Так что я уверен, что это файл /catalog/controller/common/maintenance.php. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вы оцениваете мой уровень по количеству сообщений на этом форуме? Тогда, действительно, по сравнению с вами я даже не джун, а вообще младенец :) Использовать вместо опенкартовского лоадера прямой инклюд в контроллерах Читать умеете - НЕ в контроллере Для тех кто в танке и не понимает где заканчивается код контроллера болдом даже выделил Не понимаешь архитектуру - не умничай, промолчи лучше Всё закончили - надоел, лепишь отмазки Отправляю вообще в бан у себя, надоела демагогия отмазок Бред какой то придумал что нельзя вызывать include_once в контроллерах Сам додумался ? Где написано что в контроллерах opencart нельзя вызывать include_once ? Расскажи это другим разработчикам Если надо кто хочет тот и вызывает, если в данном случае не обойтись Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Читать умеете - НЕ в контроллере Для тех кто в танке и не понимает где заканчивается код контроллера болдом даже выделил Да, с чётким выражением мыслей у вас явно проблемы. То что вы пытались сказать, называется - "не в классе контроллера", а не просто "не в контроллере", ибо слово контроллер в случае ОК обозначает и класс и его файл (в таких файлах всё равно больше нет ничего). Тем не менее, это файл контроллера, что всё равно противоречит архитектуре ОК, где действует принцип: один файл - один класс и ничего более (когда идёт речь о файлах с декларацией классов). И, что более важно, это также противоречит PSR-1 (если вы знаете, что это)! Если вы считаете, что нарушение спецификаций PSR не является гавнокодингом, то с вами, действительно, больше не о чем разговаривать. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 ... И, что более важно, это также противоречит PSR-1 (если вы знаете, что это)! :ugeek: Опять кидаетесь громогласными заявлениями и высокими фразами совершенно не понимая что в них описано По вашей "логике" opencart нарушает PSR-1 (так как содержит "побочный эффект" и объявление класса (во всем коде кстати), но там написано "не следует", а не "не позволяется", т е если в данном случае избежать невозможно, то это приходится делать) :-D Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Опять кидаетесь громогласными заявлениями и высокими фразами совершенно не понимая что в них описано Вот цитата оттуда: A file SHOULD declare new symbols (classes, functions, constants, etc.) and cause no other side effects, or it SHOULD execute logic with side effects, but SHOULD NOT do both. The phrase "side effects" means execution of logic not directly related to declaring classes, functions, constants, etc., merely from including the file. "Side effects" include but are not limited to: generating output, explicit use of require or include, connecting to external services, modifying ini settings, emitting errors or exceptions, modifying global or static variables, reading from or writing to a file, and so on. И ссылка на саму спецификацию: http://www.php-fig.org/psr/psr-1/ По вашей "логике" opencart нарушает PSR-1 (так как содержит "побочный эффект" и объявление класса (во всем коде кстати) Покажите конкретный пример из ОК. Я такого там вспомнить не могу. но там написано "не следует", а не "не позволяется", Суть гавнокодинга как раз в том, что автор такого кода плюёт на любые рекомендации, которые напрямую не влияют на работоспособность кода! А все подобные спецификации не могут быть жёсткими требованиями, а не просто рекомендациями, поскольку они напрямую не влияют на работоспособность кода, а значит никто не может заставить им следовать. И кстати, обратите внимание, что в спецификации используется should, а не may или can, так что это всё же довольно настоятельные рекомендации! т е если в данном случае избежать невозможно, то это приходится делать) Я согласен, что из-за отсутствия в ОК нормальной системы расширений, для работы некоторых модулей неизбежно использование различных костылей, но эта неизбежность не делает такой код качественным. Если во время дождя вы прикрываете голову пакетом, потому что не взяли с собой зонт - это не превращает этот пакет в зонт. Кроме того, благодаря vQmod/OCMOD (которые сами являются костылями) есть возможность добавлять свой код практически куда угодно, а потому нет необходимости создавать костыли прикрываясь их неизбежностью - модификаторы позволят обойти нерасширяемость ОК без дополнительных костылей. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вот цитата оттуда: ... Покажите конкретный пример из ОК. Я такого там вспомнить не могу. ... Ну я же говорил что не понимаете что там написано: /engine - обьявление классов (тем более final class) и "побочный эффект" include_once Вы даже не поняли что такое "побочный эффект" - изменение настроек тоже побочный эффект и много чего под него попадает. Весь opencart натыкан тогда, по вашей логике, г.. кодом. И что вы мне здесь "тулили" про контроллеры? В /engine значит можно, а в контроллерах нельзя (ваши слова). Откуда взял это, придумал сам видно. А про vqmod лучше промолчите вообще, вы в расширяемости opencart и йоты не знаете. 90% функционала что лепят разработчики opencart vqmod - м можно спокойно сделать без него, причем по стандартам php и PSR-1, только надо знать точку входа. И не надо пачить seo_pro, seo_url, да и вообще модели не надо патчить, а полностью получить контроль над всем кодом opencart (а в opencart 2. и контроль контроллеров, причем без триггеров). vQmod и ocmod - это костыли патчеры (ocmod - хоть стандарт opencart, а, vqmod это вообще 3.14) А за vQmod в opencart 2.x вообще в табло сразу бить надо тому разработчику кто сделал на нем Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. Нет, не патчер - он не патчит код ;) Он добавляет пару строк кода (чувствуете разницу - патчить код и добавлять кусок НЕ в код opencart), при этом если бы делалось через ocmod - пришлось бы перепатчить половину системных файлов для такого функционала и забыть о совместимости. А пара добавленных строк решила этот вопрос, при этом полная совместимость со всеми версиями и сборками opencart, темами, модулями ! Вот в чем самое главное. Никакие ocmod и vqmod не дали бы сделать так гибко модуль. Тем более всего парой добавленных строк НЕ в код. При этом перехватывается всё. Я могу заменить результат любой переменной, в любом контроллере (при желании в любой точке контроллера). Да с запросами там проблема. Сделаны они в opencart немного коряво - просто строками и никаких "генераторов" fw запросов. Здесь без ocmod никак к сожалению. Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Я вам по секрету скажу.. регулярка это -50% производительности. Я в курсе, что и как вы делаете. Поэтому простым ocmod в і можете сделать тоже самое... т.е. загрузить свой loader Я могу заменить результат любой переменной, в любом контроллере Я вас боюсь.. Помолчу. 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Марк, не обращай внимание на обелившегося админа варез-ресурса. Все посты персонажа - попытка набить репу. Не более. И каким образом модерирование варез-форума - влияет на профессиональный уровень человека? Дорогу перешел? Или уличен в варезе? 2 Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Ваши отмазки - не зачтены. В трех файлах ... основных файлах engine opencart (в maintenance.php точка входа, фактически он engine). Которые грузят почти "ВСЁ" в opencart. Не видите? Ну тогда вообще говорить не о чем. Заканчивайте отмазки, 3.14ли не в попад, так и скажите. При этом "громогласно" заявили и обвинили. Вероятно, вы провоцируете меня на грубость, иначе я никак не могу расценить откровенное нежелание понимать о чём я говорю. Я сказал, что прямой инклюд файлов в контроллерах - это плохо, а вы показываете на опенкарстовский лоадер и говорите, что если в таком важном файле это и есть то можно пихать куда вздумается. Вам не кажется, что такими отмазками вы себя позорите? Я, кстати, когда писал своё мнение о коде, даже не обратил внимание, из какого модуля он и мой комментарий относился исключительно к тому коду, который был у меня перед глазами, а не к модулю или его автору. Если вы думаете, что мой комментарий мог сильно навредить репутации модуля или вашей, если б вы не начали тут так отчаянно защищаться, то должен сказать, что эта нелепые попытки оправдать код по принципу "сам дурак" (а не попытавшись, например, объяснить почему нужно было только так и никак иначе) - намного больше навредили вашей репутации и не только как программиста. А так бы, вероятно. никто бы даже не обратил внимание, что этот код из вашего модуля. Насчет безопасности freelancer правильно сказал. Не забываем что код может собираться из кусков, проверяться хеш и т.п. Не смотрите примитивно на код, с виду код который ничего не выполняет на самом деле может быть куском кода проверки защиты. Даже простая строка кода, из неё могут браться просто символы для компиляции кода защиты Но, вероятно, это не ваш случай, иначе вы бы сами об этом сразу сказали, а не разводили сопли. Все посты персонажа - попытка набить репу. Не более. Вот уж действительно, холивар о качестве кода - отличный способ набить репу, как я раньше то не додумался :-D Ведь когда критикуешь чей-то код, то сразу прибегает толпа людей, которые будут плюсовать и в первую очередь, конечно же, сам автор кривого кода. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вероятно... А при чем здесь модуль. Вы просто не понимаете что такое говнокод вот и все Ваш уровень junior не позволяет этого понять и отмазки последующие не зачтены. Говнокод - это архитектурная ошибки, к примеру когда не объявленному методу вдруг начинают оверлолдить или используют пробойный код безопасности или к примеру вызов простого кода opencart (как бы оригинальный код то, но в том архитектурном контексте это говнокод) дважды. А вы громогласно обвинили обычный стандартный код. И вызов include_once там обязытелен и оправдан так как это точка входа. Если вы не заметили то он вызывается не в контроллере, а как точка входа engine - фактически loader Так что давайте не делать громогласных заявлений, не подумавши и не имея квалификации определить что такое понятие говнокод Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Ваш уровень junior не позволяет этого понять и отмазки последующие не зачтены. Вы оцениваете мой уровень по количеству сообщений на этом форуме? Тогда, действительно, по сравнению с вами я даже не джун, а вообще младенец :) Говнокод - это архитектурная ошибки Использовать вместо опенкартовского лоадера прямой инклюд в контроллерах - это не архитектурная ошибка? Говоря про инклюд я сразу сказал, что это противоречит архитектуре ОК и вы так и не смогли показать хоть один контроллер в ОК, где подобное происходит, а loader.php, action.php и startup.php - никаким боком не контроллеры, а как раз те элементы архитектуры ОК, благодаря которым нет необходимости использовать прямой инклюд на более высоких уровнях. Если у вас есть необходимость в собственном лоадере, вы можете его подключить тем же образом, каким подключается оригинальный лоадер. И вызов include_once там обязытелен и оправдан так как это точка входа. Точка входа куда? Вообще, что является точкой входа зависит от конкретного языка и в случае php - это первая строка в первом файле вызова, но обычно в php точкой входа в приложение называют весь первый файл, то есть в случае ОК - это /index.php для витрины и /admin/index.php - для админки. Если вы не заметили то он вызывается не в контроллере А где тогда? В ошибках из первого поста, конечно, путь обрезан, но я не знаю в ОК других файлов с названием maintenance.php не считая языкового, но, если это вставка из языкового файла - это было бы уж совсем не смешно. Так что я уверен, что это файл /catalog/controller/common/maintenance.php. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вы оцениваете мой уровень по количеству сообщений на этом форуме? Тогда, действительно, по сравнению с вами я даже не джун, а вообще младенец :) Использовать вместо опенкартовского лоадера прямой инклюд в контроллерах Читать умеете - НЕ в контроллере Для тех кто в танке и не понимает где заканчивается код контроллера болдом даже выделил Не понимаешь архитектуру - не умничай, промолчи лучше Всё закончили - надоел, лепишь отмазки Отправляю вообще в бан у себя, надоела демагогия отмазок Бред какой то придумал что нельзя вызывать include_once в контроллерах Сам додумался ? Где написано что в контроллерах opencart нельзя вызывать include_once ? Расскажи это другим разработчикам Если надо кто хочет тот и вызывает, если в данном случае не обойтись Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Читать умеете - НЕ в контроллере Для тех кто в танке и не понимает где заканчивается код контроллера болдом даже выделил Да, с чётким выражением мыслей у вас явно проблемы. То что вы пытались сказать, называется - "не в классе контроллера", а не просто "не в контроллере", ибо слово контроллер в случае ОК обозначает и класс и его файл (в таких файлах всё равно больше нет ничего). Тем не менее, это файл контроллера, что всё равно противоречит архитектуре ОК, где действует принцип: один файл - один класс и ничего более (когда идёт речь о файлах с декларацией классов). И, что более важно, это также противоречит PSR-1 (если вы знаете, что это)! Если вы считаете, что нарушение спецификаций PSR не является гавнокодингом, то с вами, действительно, больше не о чем разговаривать. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 ... И, что более важно, это также противоречит PSR-1 (если вы знаете, что это)! :ugeek: Опять кидаетесь громогласными заявлениями и высокими фразами совершенно не понимая что в них описано По вашей "логике" opencart нарушает PSR-1 (так как содержит "побочный эффект" и объявление класса (во всем коде кстати), но там написано "не следует", а не "не позволяется", т е если в данном случае избежать невозможно, то это приходится делать) :-D Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Опять кидаетесь громогласными заявлениями и высокими фразами совершенно не понимая что в них описано Вот цитата оттуда: A file SHOULD declare new symbols (classes, functions, constants, etc.) and cause no other side effects, or it SHOULD execute logic with side effects, but SHOULD NOT do both. The phrase "side effects" means execution of logic not directly related to declaring classes, functions, constants, etc., merely from including the file. "Side effects" include but are not limited to: generating output, explicit use of require or include, connecting to external services, modifying ini settings, emitting errors or exceptions, modifying global or static variables, reading from or writing to a file, and so on. И ссылка на саму спецификацию: http://www.php-fig.org/psr/psr-1/ По вашей "логике" opencart нарушает PSR-1 (так как содержит "побочный эффект" и объявление класса (во всем коде кстати) Покажите конкретный пример из ОК. Я такого там вспомнить не могу. но там написано "не следует", а не "не позволяется", Суть гавнокодинга как раз в том, что автор такого кода плюёт на любые рекомендации, которые напрямую не влияют на работоспособность кода! А все подобные спецификации не могут быть жёсткими требованиями, а не просто рекомендациями, поскольку они напрямую не влияют на работоспособность кода, а значит никто не может заставить им следовать. И кстати, обратите внимание, что в спецификации используется should, а не may или can, так что это всё же довольно настоятельные рекомендации! т е если в данном случае избежать невозможно, то это приходится делать) Я согласен, что из-за отсутствия в ОК нормальной системы расширений, для работы некоторых модулей неизбежно использование различных костылей, но эта неизбежность не делает такой код качественным. Если во время дождя вы прикрываете голову пакетом, потому что не взяли с собой зонт - это не превращает этот пакет в зонт. Кроме того, благодаря vQmod/OCMOD (которые сами являются костылями) есть возможность добавлять свой код практически куда угодно, а потому нет необходимости создавать костыли прикрываясь их неизбежностью - модификаторы позволят обойти нерасширяемость ОК без дополнительных костылей. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вот цитата оттуда: ... Покажите конкретный пример из ОК. Я такого там вспомнить не могу. ... Ну я же говорил что не понимаете что там написано: /engine - обьявление классов (тем более final class) и "побочный эффект" include_once Вы даже не поняли что такое "побочный эффект" - изменение настроек тоже побочный эффект и много чего под него попадает. Весь opencart натыкан тогда, по вашей логике, г.. кодом. И что вы мне здесь "тулили" про контроллеры? В /engine значит можно, а в контроллерах нельзя (ваши слова). Откуда взял это, придумал сам видно. А про vqmod лучше промолчите вообще, вы в расширяемости opencart и йоты не знаете. 90% функционала что лепят разработчики opencart vqmod - м можно спокойно сделать без него, причем по стандартам php и PSR-1, только надо знать точку входа. И не надо пачить seo_pro, seo_url, да и вообще модели не надо патчить, а полностью получить контроль над всем кодом opencart (а в opencart 2. и контроль контроллеров, причем без триггеров). vQmod и ocmod - это костыли патчеры (ocmod - хоть стандарт opencart, а, vqmod это вообще 3.14) А за vQmod в opencart 2.x вообще в табло сразу бить надо тому разработчику кто сделал на нем Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. Нет, не патчер - он не патчит код ;) Он добавляет пару строк кода (чувствуете разницу - патчить код и добавлять кусок НЕ в код opencart), при этом если бы делалось через ocmod - пришлось бы перепатчить половину системных файлов для такого функционала и забыть о совместимости. А пара добавленных строк решила этот вопрос, при этом полная совместимость со всеми версиями и сборками opencart, темами, модулями ! Вот в чем самое главное. Никакие ocmod и vqmod не дали бы сделать так гибко модуль. Тем более всего парой добавленных строк НЕ в код. При этом перехватывается всё. Я могу заменить результат любой переменной, в любом контроллере (при желании в любой точке контроллера). Да с запросами там проблема. Сделаны они в opencart немного коряво - просто строками и никаких "генераторов" fw запросов. Здесь без ocmod никак к сожалению. Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Я вам по секрету скажу.. регулярка это -50% производительности. Я в курсе, что и как вы делаете. Поэтому простым ocmod в і можете сделать тоже самое... т.е. загрузить свой loader Я могу заменить результат любой переменной, в любом контроллере Я вас боюсь.. Помолчу. 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Ваши отмазки - не зачтены. В трех файлах ... основных файлах engine opencart (в maintenance.php точка входа, фактически он engine). Которые грузят почти "ВСЁ" в opencart. Не видите? Ну тогда вообще говорить не о чем. Заканчивайте отмазки, 3.14ли не в попад, так и скажите. При этом "громогласно" заявили и обвинили. Вероятно, вы провоцируете меня на грубость, иначе я никак не могу расценить откровенное нежелание понимать о чём я говорю. Я сказал, что прямой инклюд файлов в контроллерах - это плохо, а вы показываете на опенкарстовский лоадер и говорите, что если в таком важном файле это и есть то можно пихать куда вздумается. Вам не кажется, что такими отмазками вы себя позорите? Я, кстати, когда писал своё мнение о коде, даже не обратил внимание, из какого модуля он и мой комментарий относился исключительно к тому коду, который был у меня перед глазами, а не к модулю или его автору. Если вы думаете, что мой комментарий мог сильно навредить репутации модуля или вашей, если б вы не начали тут так отчаянно защищаться, то должен сказать, что эта нелепые попытки оправдать код по принципу "сам дурак" (а не попытавшись, например, объяснить почему нужно было только так и никак иначе) - намного больше навредили вашей репутации и не только как программиста. А так бы, вероятно. никто бы даже не обратил внимание, что этот код из вашего модуля. Насчет безопасности freelancer правильно сказал. Не забываем что код может собираться из кусков, проверяться хеш и т.п. Не смотрите примитивно на код, с виду код который ничего не выполняет на самом деле может быть куском кода проверки защиты. Даже простая строка кода, из неё могут браться просто символы для компиляции кода защиты Но, вероятно, это не ваш случай, иначе вы бы сами об этом сразу сказали, а не разводили сопли. Все посты персонажа - попытка набить репу. Не более. Вот уж действительно, холивар о качестве кода - отличный способ набить репу, как я раньше то не додумался :-D Ведь когда критикуешь чей-то код, то сразу прибегает толпа людей, которые будут плюсовать и в первую очередь, конечно же, сам автор кривого кода. Надіслати Поділитися на інших сайтах More sharing options...
markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вероятно... А при чем здесь модуль. Вы просто не понимаете что такое говнокод вот и все Ваш уровень junior не позволяет этого понять и отмазки последующие не зачтены. Говнокод - это архитектурная ошибки, к примеру когда не объявленному методу вдруг начинают оверлолдить или используют пробойный код безопасности или к примеру вызов простого кода opencart (как бы оригинальный код то, но в том архитектурном контексте это говнокод) дважды. А вы громогласно обвинили обычный стандартный код. И вызов include_once там обязытелен и оправдан так как это точка входа. Если вы не заметили то он вызывается не в контроллере, а как точка входа engine - фактически loader Так что давайте не делать громогласных заявлений, не подумавши и не имея квалификации определить что такое понятие говнокод Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Ваш уровень junior не позволяет этого понять и отмазки последующие не зачтены. Вы оцениваете мой уровень по количеству сообщений на этом форуме? Тогда, действительно, по сравнению с вами я даже не джун, а вообще младенец :) Говнокод - это архитектурная ошибки Использовать вместо опенкартовского лоадера прямой инклюд в контроллерах - это не архитектурная ошибка? Говоря про инклюд я сразу сказал, что это противоречит архитектуре ОК и вы так и не смогли показать хоть один контроллер в ОК, где подобное происходит, а loader.php, action.php и startup.php - никаким боком не контроллеры, а как раз те элементы архитектуры ОК, благодаря которым нет необходимости использовать прямой инклюд на более высоких уровнях. Если у вас есть необходимость в собственном лоадере, вы можете его подключить тем же образом, каким подключается оригинальный лоадер. И вызов include_once там обязытелен и оправдан так как это точка входа. Точка входа куда? Вообще, что является точкой входа зависит от конкретного языка и в случае php - это первая строка в первом файле вызова, но обычно в php точкой входа в приложение называют весь первый файл, то есть в случае ОК - это /index.php для витрины и /admin/index.php - для админки. Если вы не заметили то он вызывается не в контроллере А где тогда? В ошибках из первого поста, конечно, путь обрезан, но я не знаю в ОК других файлов с названием maintenance.php не считая языкового, но, если это вставка из языкового файла - это было бы уж совсем не смешно. Так что я уверен, что это файл /catalog/controller/common/maintenance.php. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вы оцениваете мой уровень по количеству сообщений на этом форуме? Тогда, действительно, по сравнению с вами я даже не джун, а вообще младенец :) Использовать вместо опенкартовского лоадера прямой инклюд в контроллерах Читать умеете - НЕ в контроллере Для тех кто в танке и не понимает где заканчивается код контроллера болдом даже выделил Не понимаешь архитектуру - не умничай, промолчи лучше Всё закончили - надоел, лепишь отмазки Отправляю вообще в бан у себя, надоела демагогия отмазок Бред какой то придумал что нельзя вызывать include_once в контроллерах Сам додумался ? Где написано что в контроллерах opencart нельзя вызывать include_once ? Расскажи это другим разработчикам Если надо кто хочет тот и вызывает, если в данном случае не обойтись Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Читать умеете - НЕ в контроллере Для тех кто в танке и не понимает где заканчивается код контроллера болдом даже выделил Да, с чётким выражением мыслей у вас явно проблемы. То что вы пытались сказать, называется - "не в классе контроллера", а не просто "не в контроллере", ибо слово контроллер в случае ОК обозначает и класс и его файл (в таких файлах всё равно больше нет ничего). Тем не менее, это файл контроллера, что всё равно противоречит архитектуре ОК, где действует принцип: один файл - один класс и ничего более (когда идёт речь о файлах с декларацией классов). И, что более важно, это также противоречит PSR-1 (если вы знаете, что это)! Если вы считаете, что нарушение спецификаций PSR не является гавнокодингом, то с вами, действительно, больше не о чем разговаривать. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 ... И, что более важно, это также противоречит PSR-1 (если вы знаете, что это)! :ugeek: Опять кидаетесь громогласными заявлениями и высокими фразами совершенно не понимая что в них описано По вашей "логике" opencart нарушает PSR-1 (так как содержит "побочный эффект" и объявление класса (во всем коде кстати), но там написано "не следует", а не "не позволяется", т е если в данном случае избежать невозможно, то это приходится делать) :-D Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Опять кидаетесь громогласными заявлениями и высокими фразами совершенно не понимая что в них описано Вот цитата оттуда: A file SHOULD declare new symbols (classes, functions, constants, etc.) and cause no other side effects, or it SHOULD execute logic with side effects, but SHOULD NOT do both. The phrase "side effects" means execution of logic not directly related to declaring classes, functions, constants, etc., merely from including the file. "Side effects" include but are not limited to: generating output, explicit use of require or include, connecting to external services, modifying ini settings, emitting errors or exceptions, modifying global or static variables, reading from or writing to a file, and so on. И ссылка на саму спецификацию: http://www.php-fig.org/psr/psr-1/ По вашей "логике" opencart нарушает PSR-1 (так как содержит "побочный эффект" и объявление класса (во всем коде кстати) Покажите конкретный пример из ОК. Я такого там вспомнить не могу. но там написано "не следует", а не "не позволяется", Суть гавнокодинга как раз в том, что автор такого кода плюёт на любые рекомендации, которые напрямую не влияют на работоспособность кода! А все подобные спецификации не могут быть жёсткими требованиями, а не просто рекомендациями, поскольку они напрямую не влияют на работоспособность кода, а значит никто не может заставить им следовать. И кстати, обратите внимание, что в спецификации используется should, а не may или can, так что это всё же довольно настоятельные рекомендации! т е если в данном случае избежать невозможно, то это приходится делать) Я согласен, что из-за отсутствия в ОК нормальной системы расширений, для работы некоторых модулей неизбежно использование различных костылей, но эта неизбежность не делает такой код качественным. Если во время дождя вы прикрываете голову пакетом, потому что не взяли с собой зонт - это не превращает этот пакет в зонт. Кроме того, благодаря vQmod/OCMOD (которые сами являются костылями) есть возможность добавлять свой код практически куда угодно, а потому нет необходимости создавать костыли прикрываясь их неизбежностью - модификаторы позволят обойти нерасширяемость ОК без дополнительных костылей. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вот цитата оттуда: ... Покажите конкретный пример из ОК. Я такого там вспомнить не могу. ... Ну я же говорил что не понимаете что там написано: /engine - обьявление классов (тем более final class) и "побочный эффект" include_once Вы даже не поняли что такое "побочный эффект" - изменение настроек тоже побочный эффект и много чего под него попадает. Весь opencart натыкан тогда, по вашей логике, г.. кодом. И что вы мне здесь "тулили" про контроллеры? В /engine значит можно, а в контроллерах нельзя (ваши слова). Откуда взял это, придумал сам видно. А про vqmod лучше промолчите вообще, вы в расширяемости opencart и йоты не знаете. 90% функционала что лепят разработчики opencart vqmod - м можно спокойно сделать без него, причем по стандартам php и PSR-1, только надо знать точку входа. И не надо пачить seo_pro, seo_url, да и вообще модели не надо патчить, а полностью получить контроль над всем кодом opencart (а в opencart 2. и контроль контроллеров, причем без триггеров). vQmod и ocmod - это костыли патчеры (ocmod - хоть стандарт opencart, а, vqmod это вообще 3.14) А за vQmod в opencart 2.x вообще в табло сразу бить надо тому разработчику кто сделал на нем Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. Нет, не патчер - он не патчит код ;) Он добавляет пару строк кода (чувствуете разницу - патчить код и добавлять кусок НЕ в код opencart), при этом если бы делалось через ocmod - пришлось бы перепатчить половину системных файлов для такого функционала и забыть о совместимости. А пара добавленных строк решила этот вопрос, при этом полная совместимость со всеми версиями и сборками opencart, темами, модулями ! Вот в чем самое главное. Никакие ocmod и vqmod не дали бы сделать так гибко модуль. Тем более всего парой добавленных строк НЕ в код. При этом перехватывается всё. Я могу заменить результат любой переменной, в любом контроллере (при желании в любой точке контроллера). Да с запросами там проблема. Сделаны они в opencart немного коряво - просто строками и никаких "генераторов" fw запросов. Здесь без ocmod никак к сожалению. Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Я вам по секрету скажу.. регулярка это -50% производительности. Я в курсе, что и как вы делаете. Поэтому простым ocmod в і можете сделать тоже самое... т.е. загрузить свой loader Я могу заменить результат любой переменной, в любом контроллере Я вас боюсь.. Помолчу. 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Ваш уровень junior не позволяет этого понять и отмазки последующие не зачтены. Вы оцениваете мой уровень по количеству сообщений на этом форуме? Тогда, действительно, по сравнению с вами я даже не джун, а вообще младенец :) Говнокод - это архитектурная ошибки Использовать вместо опенкартовского лоадера прямой инклюд в контроллерах - это не архитектурная ошибка? Говоря про инклюд я сразу сказал, что это противоречит архитектуре ОК и вы так и не смогли показать хоть один контроллер в ОК, где подобное происходит, а loader.php, action.php и startup.php - никаким боком не контроллеры, а как раз те элементы архитектуры ОК, благодаря которым нет необходимости использовать прямой инклюд на более высоких уровнях. Если у вас есть необходимость в собственном лоадере, вы можете его подключить тем же образом, каким подключается оригинальный лоадер. И вызов include_once там обязытелен и оправдан так как это точка входа. Точка входа куда? Вообще, что является точкой входа зависит от конкретного языка и в случае php - это первая строка в первом файле вызова, но обычно в php точкой входа в приложение называют весь первый файл, то есть в случае ОК - это /index.php для витрины и /admin/index.php - для админки. Если вы не заметили то он вызывается не в контроллере А где тогда? В ошибках из первого поста, конечно, путь обрезан, но я не знаю в ОК других файлов с названием maintenance.php не считая языкового, но, если это вставка из языкового файла - это было бы уж совсем не смешно. Так что я уверен, что это файл /catalog/controller/common/maintenance.php. Надіслати Поділитися на інших сайтах More sharing options...
markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вы оцениваете мой уровень по количеству сообщений на этом форуме? Тогда, действительно, по сравнению с вами я даже не джун, а вообще младенец :) Использовать вместо опенкартовского лоадера прямой инклюд в контроллерах Читать умеете - НЕ в контроллере Для тех кто в танке и не понимает где заканчивается код контроллера болдом даже выделил Не понимаешь архитектуру - не умничай, промолчи лучше Всё закончили - надоел, лепишь отмазки Отправляю вообще в бан у себя, надоела демагогия отмазок Бред какой то придумал что нельзя вызывать include_once в контроллерах Сам додумался ? Где написано что в контроллерах opencart нельзя вызывать include_once ? Расскажи это другим разработчикам Если надо кто хочет тот и вызывает, если в данном случае не обойтись Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Читать умеете - НЕ в контроллере Для тех кто в танке и не понимает где заканчивается код контроллера болдом даже выделил Да, с чётким выражением мыслей у вас явно проблемы. То что вы пытались сказать, называется - "не в классе контроллера", а не просто "не в контроллере", ибо слово контроллер в случае ОК обозначает и класс и его файл (в таких файлах всё равно больше нет ничего). Тем не менее, это файл контроллера, что всё равно противоречит архитектуре ОК, где действует принцип: один файл - один класс и ничего более (когда идёт речь о файлах с декларацией классов). И, что более важно, это также противоречит PSR-1 (если вы знаете, что это)! Если вы считаете, что нарушение спецификаций PSR не является гавнокодингом, то с вами, действительно, больше не о чем разговаривать. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 ... И, что более важно, это также противоречит PSR-1 (если вы знаете, что это)! :ugeek: Опять кидаетесь громогласными заявлениями и высокими фразами совершенно не понимая что в них описано По вашей "логике" opencart нарушает PSR-1 (так как содержит "побочный эффект" и объявление класса (во всем коде кстати), но там написано "не следует", а не "не позволяется", т е если в данном случае избежать невозможно, то это приходится делать) :-D Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Опять кидаетесь громогласными заявлениями и высокими фразами совершенно не понимая что в них описано Вот цитата оттуда: A file SHOULD declare new symbols (classes, functions, constants, etc.) and cause no other side effects, or it SHOULD execute logic with side effects, but SHOULD NOT do both. The phrase "side effects" means execution of logic not directly related to declaring classes, functions, constants, etc., merely from including the file. "Side effects" include but are not limited to: generating output, explicit use of require or include, connecting to external services, modifying ini settings, emitting errors or exceptions, modifying global or static variables, reading from or writing to a file, and so on. И ссылка на саму спецификацию: http://www.php-fig.org/psr/psr-1/ По вашей "логике" opencart нарушает PSR-1 (так как содержит "побочный эффект" и объявление класса (во всем коде кстати) Покажите конкретный пример из ОК. Я такого там вспомнить не могу. но там написано "не следует", а не "не позволяется", Суть гавнокодинга как раз в том, что автор такого кода плюёт на любые рекомендации, которые напрямую не влияют на работоспособность кода! А все подобные спецификации не могут быть жёсткими требованиями, а не просто рекомендациями, поскольку они напрямую не влияют на работоспособность кода, а значит никто не может заставить им следовать. И кстати, обратите внимание, что в спецификации используется should, а не may или can, так что это всё же довольно настоятельные рекомендации! т е если в данном случае избежать невозможно, то это приходится делать) Я согласен, что из-за отсутствия в ОК нормальной системы расширений, для работы некоторых модулей неизбежно использование различных костылей, но эта неизбежность не делает такой код качественным. Если во время дождя вы прикрываете голову пакетом, потому что не взяли с собой зонт - это не превращает этот пакет в зонт. Кроме того, благодаря vQmod/OCMOD (которые сами являются костылями) есть возможность добавлять свой код практически куда угодно, а потому нет необходимости создавать костыли прикрываясь их неизбежностью - модификаторы позволят обойти нерасширяемость ОК без дополнительных костылей. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вот цитата оттуда: ... Покажите конкретный пример из ОК. Я такого там вспомнить не могу. ... Ну я же говорил что не понимаете что там написано: /engine - обьявление классов (тем более final class) и "побочный эффект" include_once Вы даже не поняли что такое "побочный эффект" - изменение настроек тоже побочный эффект и много чего под него попадает. Весь opencart натыкан тогда, по вашей логике, г.. кодом. И что вы мне здесь "тулили" про контроллеры? В /engine значит можно, а в контроллерах нельзя (ваши слова). Откуда взял это, придумал сам видно. А про vqmod лучше промолчите вообще, вы в расширяемости opencart и йоты не знаете. 90% функционала что лепят разработчики opencart vqmod - м можно спокойно сделать без него, причем по стандартам php и PSR-1, только надо знать точку входа. И не надо пачить seo_pro, seo_url, да и вообще модели не надо патчить, а полностью получить контроль над всем кодом opencart (а в opencart 2. и контроль контроллеров, причем без триггеров). vQmod и ocmod - это костыли патчеры (ocmod - хоть стандарт opencart, а, vqmod это вообще 3.14) А за vQmod в opencart 2.x вообще в табло сразу бить надо тому разработчику кто сделал на нем Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. Нет, не патчер - он не патчит код ;) Он добавляет пару строк кода (чувствуете разницу - патчить код и добавлять кусок НЕ в код opencart), при этом если бы делалось через ocmod - пришлось бы перепатчить половину системных файлов для такого функционала и забыть о совместимости. А пара добавленных строк решила этот вопрос, при этом полная совместимость со всеми версиями и сборками opencart, темами, модулями ! Вот в чем самое главное. Никакие ocmod и vqmod не дали бы сделать так гибко модуль. Тем более всего парой добавленных строк НЕ в код. При этом перехватывается всё. Я могу заменить результат любой переменной, в любом контроллере (при желании в любой точке контроллера). Да с запросами там проблема. Сделаны они в opencart немного коряво - просто строками и никаких "генераторов" fw запросов. Здесь без ocmod никак к сожалению. Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Я вам по секрету скажу.. регулярка это -50% производительности. Я в курсе, что и как вы делаете. Поэтому простым ocmod в і можете сделать тоже самое... т.е. загрузить свой loader Я могу заменить результат любой переменной, в любом контроллере Я вас боюсь.. Помолчу. 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Читать умеете - НЕ в контроллере Для тех кто в танке и не понимает где заканчивается код контроллера болдом даже выделил Да, с чётким выражением мыслей у вас явно проблемы. То что вы пытались сказать, называется - "не в классе контроллера", а не просто "не в контроллере", ибо слово контроллер в случае ОК обозначает и класс и его файл (в таких файлах всё равно больше нет ничего). Тем не менее, это файл контроллера, что всё равно противоречит архитектуре ОК, где действует принцип: один файл - один класс и ничего более (когда идёт речь о файлах с декларацией классов). И, что более важно, это также противоречит PSR-1 (если вы знаете, что это)! Если вы считаете, что нарушение спецификаций PSR не является гавнокодингом, то с вами, действительно, больше не о чем разговаривать. Надіслати Поділитися на інших сайтах More sharing options...
markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 ... И, что более важно, это также противоречит PSR-1 (если вы знаете, что это)! :ugeek: Опять кидаетесь громогласными заявлениями и высокими фразами совершенно не понимая что в них описано По вашей "логике" opencart нарушает PSR-1 (так как содержит "побочный эффект" и объявление класса (во всем коде кстати), но там написано "не следует", а не "не позволяется", т е если в данном случае избежать невозможно, то это приходится делать) :-D Надіслати Поділитися на інших сайтах More sharing options... Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Опять кидаетесь громогласными заявлениями и высокими фразами совершенно не понимая что в них описано Вот цитата оттуда: A file SHOULD declare new symbols (classes, functions, constants, etc.) and cause no other side effects, or it SHOULD execute logic with side effects, but SHOULD NOT do both. The phrase "side effects" means execution of logic not directly related to declaring classes, functions, constants, etc., merely from including the file. "Side effects" include but are not limited to: generating output, explicit use of require or include, connecting to external services, modifying ini settings, emitting errors or exceptions, modifying global or static variables, reading from or writing to a file, and so on. И ссылка на саму спецификацию: http://www.php-fig.org/psr/psr-1/ По вашей "логике" opencart нарушает PSR-1 (так как содержит "побочный эффект" и объявление класса (во всем коде кстати) Покажите конкретный пример из ОК. Я такого там вспомнить не могу. но там написано "не следует", а не "не позволяется", Суть гавнокодинга как раз в том, что автор такого кода плюёт на любые рекомендации, которые напрямую не влияют на работоспособность кода! А все подобные спецификации не могут быть жёсткими требованиями, а не просто рекомендациями, поскольку они напрямую не влияют на работоспособность кода, а значит никто не может заставить им следовать. И кстати, обратите внимание, что в спецификации используется should, а не may или can, так что это всё же довольно настоятельные рекомендации! т е если в данном случае избежать невозможно, то это приходится делать) Я согласен, что из-за отсутствия в ОК нормальной системы расширений, для работы некоторых модулей неизбежно использование различных костылей, но эта неизбежность не делает такой код качественным. Если во время дождя вы прикрываете голову пакетом, потому что не взяли с собой зонт - это не превращает этот пакет в зонт. Кроме того, благодаря vQmod/OCMOD (которые сами являются костылями) есть возможность добавлять свой код практически куда угодно, а потому нет необходимости создавать костыли прикрываясь их неизбежностью - модификаторы позволят обойти нерасширяемость ОК без дополнительных костылей. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вот цитата оттуда: ... Покажите конкретный пример из ОК. Я такого там вспомнить не могу. ... Ну я же говорил что не понимаете что там написано: /engine - обьявление классов (тем более final class) и "побочный эффект" include_once Вы даже не поняли что такое "побочный эффект" - изменение настроек тоже побочный эффект и много чего под него попадает. Весь opencart натыкан тогда, по вашей логике, г.. кодом. И что вы мне здесь "тулили" про контроллеры? В /engine значит можно, а в контроллерах нельзя (ваши слова). Откуда взял это, придумал сам видно. А про vqmod лучше промолчите вообще, вы в расширяемости opencart и йоты не знаете. 90% функционала что лепят разработчики opencart vqmod - м можно спокойно сделать без него, причем по стандартам php и PSR-1, только надо знать точку входа. И не надо пачить seo_pro, seo_url, да и вообще модели не надо патчить, а полностью получить контроль над всем кодом opencart (а в opencart 2. и контроль контроллеров, причем без триггеров). vQmod и ocmod - это костыли патчеры (ocmod - хоть стандарт opencart, а, vqmod это вообще 3.14) А за vQmod в opencart 2.x вообще в табло сразу бить надо тому разработчику кто сделал на нем Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. Нет, не патчер - он не патчит код ;) Он добавляет пару строк кода (чувствуете разницу - патчить код и добавлять кусок НЕ в код opencart), при этом если бы делалось через ocmod - пришлось бы перепатчить половину системных файлов для такого функционала и забыть о совместимости. А пара добавленных строк решила этот вопрос, при этом полная совместимость со всеми версиями и сборками opencart, темами, модулями ! Вот в чем самое главное. Никакие ocmod и vqmod не дали бы сделать так гибко модуль. Тем более всего парой добавленных строк НЕ в код. При этом перехватывается всё. Я могу заменить результат любой переменной, в любом контроллере (при желании в любой точке контроллера). Да с запросами там проблема. Сделаны они в opencart немного коряво - просто строками и никаких "генераторов" fw запросов. Здесь без ocmod никак к сожалению. Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Я вам по секрету скажу.. регулярка это -50% производительности. Я в курсе, что и как вы делаете. Поэтому простым ocmod в і можете сделать тоже самое... т.е. загрузить свой loader Я могу заменить результат любой переменной, в любом контроллере Я вас боюсь.. Помолчу. 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Dotrox Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Опять кидаетесь громогласными заявлениями и высокими фразами совершенно не понимая что в них описано Вот цитата оттуда: A file SHOULD declare new symbols (classes, functions, constants, etc.) and cause no other side effects, or it SHOULD execute logic with side effects, but SHOULD NOT do both. The phrase "side effects" means execution of logic not directly related to declaring classes, functions, constants, etc., merely from including the file. "Side effects" include but are not limited to: generating output, explicit use of require or include, connecting to external services, modifying ini settings, emitting errors or exceptions, modifying global or static variables, reading from or writing to a file, and so on. И ссылка на саму спецификацию: http://www.php-fig.org/psr/psr-1/ По вашей "логике" opencart нарушает PSR-1 (так как содержит "побочный эффект" и объявление класса (во всем коде кстати) Покажите конкретный пример из ОК. Я такого там вспомнить не могу. но там написано "не следует", а не "не позволяется", Суть гавнокодинга как раз в том, что автор такого кода плюёт на любые рекомендации, которые напрямую не влияют на работоспособность кода! А все подобные спецификации не могут быть жёсткими требованиями, а не просто рекомендациями, поскольку они напрямую не влияют на работоспособность кода, а значит никто не может заставить им следовать. И кстати, обратите внимание, что в спецификации используется should, а не may или can, так что это всё же довольно настоятельные рекомендации! т е если в данном случае избежать невозможно, то это приходится делать) Я согласен, что из-за отсутствия в ОК нормальной системы расширений, для работы некоторых модулей неизбежно использование различных костылей, но эта неизбежность не делает такой код качественным. Если во время дождя вы прикрываете голову пакетом, потому что не взяли с собой зонт - это не превращает этот пакет в зонт. Кроме того, благодаря vQmod/OCMOD (которые сами являются костылями) есть возможность добавлять свой код практически куда угодно, а потому нет необходимости создавать костыли прикрываясь их неизбежностью - модификаторы позволят обойти нерасширяемость ОК без дополнительных костылей. Надіслати Поділитися на інших сайтах More sharing options...
markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Вот цитата оттуда: ... Покажите конкретный пример из ОК. Я такого там вспомнить не могу. ... Ну я же говорил что не понимаете что там написано: /engine - обьявление классов (тем более final class) и "побочный эффект" include_once Вы даже не поняли что такое "побочный эффект" - изменение настроек тоже побочный эффект и много чего под него попадает. Весь opencart натыкан тогда, по вашей логике, г.. кодом. И что вы мне здесь "тулили" про контроллеры? В /engine значит можно, а в контроллерах нельзя (ваши слова). Откуда взял это, придумал сам видно. А про vqmod лучше промолчите вообще, вы в расширяемости opencart и йоты не знаете. 90% функционала что лепят разработчики opencart vqmod - м можно спокойно сделать без него, причем по стандартам php и PSR-1, только надо знать точку входа. И не надо пачить seo_pro, seo_url, да и вообще модели не надо патчить, а полностью получить контроль над всем кодом opencart (а в opencart 2. и контроль контроллеров, причем без триггеров). vQmod и ocmod - это костыли патчеры (ocmod - хоть стандарт opencart, а, vqmod это вообще 3.14) А за vQmod в opencart 2.x вообще в табло сразу бить надо тому разработчику кто сделал на нем Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. Нет, не патчер - он не патчит код ;) Он добавляет пару строк кода (чувствуете разницу - патчить код и добавлять кусок НЕ в код opencart), при этом если бы делалось через ocmod - пришлось бы перепатчить половину системных файлов для такого функционала и забыть о совместимости. А пара добавленных строк решила этот вопрос, при этом полная совместимость со всеми версиями и сборками opencart, темами, модулями ! Вот в чем самое главное. Никакие ocmod и vqmod не дали бы сделать так гибко модуль. Тем более всего парой добавленных строк НЕ в код. При этом перехватывается всё. Я могу заменить результат любой переменной, в любом контроллере (при желании в любой точке контроллера). Да с запросами там проблема. Сделаны они в opencart немного коряво - просто строками и никаких "генераторов" fw запросов. Здесь без ocmod никак к сожалению. Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Я вам по секрету скажу.. регулярка это -50% производительности. Я в курсе, что и как вы делаете. Поэтому простым ocmod в і можете сделать тоже самое... т.е. загрузить свой loader Я могу заменить результат любой переменной, в любом контроллере Я вас боюсь.. Помолчу. 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Пісочниця Ошибка Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. 1 Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. Нет, не патчер - он не патчит код ;) Он добавляет пару строк кода (чувствуете разницу - патчить код и добавлять кусок НЕ в код opencart), при этом если бы делалось через ocmod - пришлось бы перепатчить половину системных файлов для такого функционала и забыть о совместимости. А пара добавленных строк решила этот вопрос, при этом полная совместимость со всеми версиями и сборками opencart, темами, модулями ! Вот в чем самое главное. Никакие ocmod и vqmod не дали бы сделать так гибко модуль. Тем более всего парой добавленных строк НЕ в код. При этом перехватывается всё. Я могу заменить результат любой переменной, в любом контроллере (при желании в любой точке контроллера). Да с запросами там проблема. Сделаны они в opencart немного коряво - просто строками и никаких "генераторов" fw запросов. Здесь без ocmod никак к сожалению. Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Я вам по секрету скажу.. регулярка это -50% производительности. Я в курсе, что и как вы делаете. Поэтому простым ocmod в і можете сделать тоже самое... т.е. загрузить свой loader Я могу заменить результат любой переменной, в любом контроллере Я вас боюсь.. Помолчу. 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Пісочниця Ошибка
markimax Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 markimax, Ну не надо... Нельзя сделать без vqmod, ocmod Например Не возможно изменить запрос - без вмешательства в сам запрос - нет инструмента (даже events пока не годятся). Был бы конструктор запросов - тогда можно было бы говорить о чем-то. А использовать свою модель - нехорошо, теряется совместимость/зависимость. И ваше решение, по сути, ваш собственный патчер... Вы же что-то прописываете при инсталляции? Но вы не вмешиваетесь в ядро (магазин) товар, категории, корзина. А только расширяете возможности опенкарта. Нет, не патчер - он не патчит код ;) Он добавляет пару строк кода (чувствуете разницу - патчить код и добавлять кусок НЕ в код opencart), при этом если бы делалось через ocmod - пришлось бы перепатчить половину системных файлов для такого функционала и забыть о совместимости. А пара добавленных строк решила этот вопрос, при этом полная совместимость со всеми версиями и сборками opencart, темами, модулями ! Вот в чем самое главное. Никакие ocmod и vqmod не дали бы сделать так гибко модуль. Тем более всего парой добавленных строк НЕ в код. При этом перехватывается всё. Я могу заменить результат любой переменной, в любом контроллере (при желании в любой точке контроллера). Да с запросами там проблема. Сделаны они в opencart немного коряво - просто строками и никаких "генераторов" fw запросов. Здесь без ocmod никак к сожалению. Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Я вам по секрету скажу.. регулярка это -50% производительности. Я в курсе, что и как вы делаете. Поэтому простым ocmod в і можете сделать тоже самое... т.е. загрузить свой loader Я могу заменить результат любой переменной, в любом контроллере Я вас боюсь.. Помолчу. 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
chukcha Опубліковано: 2 серпня 2016 Share Опубліковано: 2 серпня 2016 Но можно тоже разбирать (регулярками) строки (добавлять и изменять) как это делает автор Mega Filter PRO Я вам по секрету скажу.. регулярка это -50% производительности. Я в курсе, что и как вы делаете. Поэтому простым ocmod в і можете сделать тоже самое... т.е. загрузить свой loader Я могу заменить результат любой переменной, в любом контроллере Я вас боюсь.. Помолчу. 1 Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Recommended Posts