TheDoctor

[Решено] Произвольные классы, функции. Куда их размещать?

Рекомендуемые сообщения

TheDoctor    0

Всем привет.

Начинаю разрабатывать модули для opencart и возник следующий вопрос:

Есть ли какая то директория/файл для размещения собственных классов/функций которые будут использовать мои модули?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
pantagruel964    217

Контроллеры в контроллеры. Модели в модели.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
TheDoctor    0

Контроллеры в контроллеры. Модели в модели.

а функционал относящийся к нескольким модулям одновременно, дублировать?

да и как то не логично размещать, например, класс взаимодействующий со сторонним API в контроллере модуля.

Вызывать методы для взаимодействия с API из контроллера - OK. Размещать класс взаимодействующий с API в контроллере - не OK

Изменено пользователем TheDoctor

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    828
а функционал относящийся к нескольким модулям одновременно, дублировать?

 

Зачем...

 

Если у вас задейстован одинаковый функционал в админке и в витрине, то system/library

 

Если нужна модель

То не обязательно дублировать модель для каждого модуля, посмотрите где и как вызывается getProduct

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
nikifalex    240

вопрос задан слишком общий. поэтому и ответ будет только "смотрите как сделано и делайте так же"

может там вообще systemm\helper надо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
pantagruel964    217

а функционал относящийся к нескольким модулям одновременно, дублировать?

да и как то не логично размещать, например, класс взаимодействующий со сторонним API в контроллере модуля.

Вызывать методы для взаимодействия с API из контроллера - OK. Размещать класс взаимодействующий с API в контроллере - не OK

Так напишите, что конкретно хотите делать. Каков вопрос, таков и ответ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
TheDoctor    0

Зачем...

 

Если у вас задейстован одинаковый функционал в админке и в витрине, то system/library

 

Если нужна модель

То не обязательно дублировать модель для каждого модуля, посмотрите где и как вызывается getProduct

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

про подключение моделей сторонних компонентов знаю.

 

И спасибо вот за это " Если у вас задейстован одинаковый функционал в админке и в витрине, то system/library" пригодится 

Изменено пользователем TheDoctor

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
TheDoctor    0

Так напишите, что конкретно хотите делать. Каков вопрос, таков и ответ.

хочу вызывать свои методы/функции своего класса из разных модулей. Как мне сделать, что б всё было в рамках правил opencart, а не в виде костылей 

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

Подозреваю, что nikifalex подсказал верно про systemm\helper, но точно узнаю только вечером

Изменено пользователем TheDoctor

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
chukcha    828

Не совсем helper

 

helper - подразумевает, в основном !!! только функции, без классов ..
по сути

load->library

laod->helper

просто делают include_once из заранее известных путей

 

Поэтому, если у вас есть сторонее api со своими классами, то..

 

- если оно нужно для для всего сайта - то в library - потому что автозагрузка

если для конретного функционал, ты вы может и сам подключить include_once(SYSTEM. 'vendor/'

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
TheDoctor    0

Не совсем helper

 

helper - подразумевает, в основном !!! только функции, без классов ..

по сути

load->library

laod->helper

просто делают include_once из заранее известных путей

 

Поэтому, если у вас есть сторонее api со своими классами, то..

 

- если оно нужно для для всего сайта - то в library - потому что автозагрузка

если для конретного функционал, ты вы может и сам подключить include_once(SYSTEM. 'vendor/'

Благодарю. Именно это мне и нужно было.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу