Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Recommended Posts

Всем привет.

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

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

 

Надіслати
Поділитися на інших сайтах


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

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

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

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

Змінено користувачем TheDoctor
Надіслати
Поділитися на інших сайтах


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

 

Зачем...

 

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

 

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

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

  • +1 1
Надіслати
Поділитися на інших сайтах

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

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

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

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

Надіслати
Поділитися на інших сайтах

Зачем...

 

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

 

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

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

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

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

 

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

Змінено користувачем TheDoctor
Надіслати
Поділитися на інших сайтах


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

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

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

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

Змінено користувачем TheDoctor
Надіслати
Поділитися на інших сайтах


Не совсем helper

 

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

load->library

laod->helper

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

 

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

 

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

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

  • +1 1
Надіслати
Поділитися на інших сайтах

Не совсем helper

 

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

по сути

load->library

laod->helper

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

 

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

 

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

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

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

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.