Jump to content
coptup4ik

Что нельзя делать при написании плагинов или модификаторов?

Recommended Posts

Приветствую.

Подскажите из личного опыта, что точно нельзя делать при написании плагинов или модификаторов. Без демагогии на тему бытия. Скорей, как не писать код, чтобы следующий разработчик не искал мои контакты.

Спасибо

Share this post


Link to post
Share on other sites

offset

index

 

аккуратно с replace на популярных запросах
 

 

Share this post


Link to post
Share on other sites
18 минут назад, chukcha сказал:

offset

index

 

аккуратно с replace на популярных запросах
 

 

 

А чем плох offset, если нужно заменить большое количество кода? 

Share this post


Link to post
Share on other sites
20 минут назад, coptup4ik сказал:

 

А чем плох offset, если нужно заменить большое количество кода? 

Вы не один!

Share this post


Link to post
Share on other sites
11 минут назад, chukcha сказал:

Вы не один!

Т.е вставлять весь кусок кода в поиск?

Share this post


Link to post
Share on other sites
Только что, coptup4ik сказал:

Т.е вставлять весь кусок кода в поиск?

нет, надо выбрать такой кусок который уникален и к нему зацепиться 

 

хотя много рукожопов которые думают что они одни, поэтому пофиг 

Share this post


Link to post
Share on other sites
1 час назад, coptup4ik сказал:

что точно нельзя делать при написании плагинов или модификаторов.

Вы спросили?
Я вам ответил

Остальное - начнете работать - поймете.

Share this post


Link to post
Share on other sites

Разбивать правила для одного и того же файла по разным частям xml

Share this post


Link to post
Share on other sites
2 минуты назад, LTRay сказал:

Разбивать правила для одного и того же файла по разным частям xml

есть нюансы

- порядок применения



а вот таое например
<file>
<operation>
$data['text1'] =
$data['text2'] =

</operation>

<operation>
$data['text_31'] =
$data['text_32'] =

</operation>
</file>

Когда можно все объединить в одном блоке
 

Share this post


Link to post
Share on other sites

Если надо дублировать file ради порядка применения очевидно что чтото вы делаете не так

Share this post


Link to post
Share on other sites
Только что, LTRay сказал:

Если надо дублировать file ради порядка применения очевидно что чтото вы делаете не так

Есть нюансы

например
<file>
<search><img src=""/></search
<add><img src="" /></add>
</file>
<file>
<search><img src="" /></search
<add><img src="" srcset="" /></add>
</file>

Потому что.. кто-то забыл поставить пробел, кто-то поставил пробел
regexp - не предлагать  - показан простейший вариант

Share this post


Link to post
Share on other sites

Как минимум стандарты ОС придерживаться - https://github.com/opencart/opencart/wiki/Coding-standards

 

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

А то попался мне на днях в руки один фри модуль не буду говорить чей, но вот так выглядят запросы в БД - http://prntscr.com/r1zqdx

Понятно дело бесплатный и возможно делался на скорую руку, но блин мой модуль когда-то не пропустила модерация из-за вот такого - $SERVER['HTTP_SERVER']

 

Конечно это мое личное мнение, но уверен, что много кто не придерживается этих стандартов..

Как не крути бесплатный движок и под него модули делают кому не лень...

Да и проверки тут как таковой нету, скорее всего есть глобальная...я уже молчу про оф. сайт, там где вообще походу забили на это дело...

 

Просто для примера требование и регламент на проверку плагинов под webasyst - https://developers.webasyst.ru/docs/store/webasyst-store-requirements/

Понятно дело, сравнивать платный и бесплатный движок тупо, но хоть элементарно можно за столько-то лет сделать свою аналогичную документацию + правила.

Но это уже отдельный разговор...и его наверное стоило бы вообще не этой теме писать..

Share this post


Link to post
Share on other sites

А как вам такое?

@$this->connection->real_escape_string($value)

Т.е. просто воткнуть во второстепенный модификатор
 

Share this post


Link to post
Share on other sites
18 минут назад, Bn174uk сказал:

Но это уже отдельный разговор...и его наверное стоило бы вообще не этой теме писать..

Но требования явно не озвучены


Но бесполезно доказывать, что

 

19 минут назад, Bn174uk сказал:

$SERVER['HTTP_SERVER']

после подключения library/request - также безопасно, как и обращение к свойству server

Хотя codestyle опенкарта озвучен

Share this post


Link to post
Share on other sites

пара моментов

 

 

Share this post


Link to post
Share on other sites

Основная трудность конечно же ocmod. Нет гарантии, что из-за конфликтов все перестанет работать.

 

Мне доставляют неудобства, когда сторонние модули используют $_SERVER или $this->request->server.

При запуске через php-cli $_SERVER и $this->request->server может быть не определен. Надо это учитывать.

Share this post


Link to post
Share on other sites

Коллеги,благодарю за посты!!

Книги книгами,а советы от знающих незаменимы. 

Share this post


Link to post
Share on other sites

Скажите,использовать sprintf() для форматирования запросов к БД нормальная практика или нет?

Share this post


Link to post
Share on other sites
2 часа назад, coptup4ik сказал:

Скажите,использовать sprintf() для форматирования запросов к БД нормальная практика или нет?

обычно нет

 

в теории, можете делать как угодно - при условии что запросы корректные и данные экранируются

но лучше придерживаться общего стиля

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.