Как вызвать класс для другого в Prestashop 1.7
Я создаю модуль PrestaShop 1.7. Например, mymodule.РНР. В этом модуле у меня есть _ _ construct и
require_once(dirname(__FILE__).'/classes/mymodule_class.php');
В классах папок (в моем собственном модуле) я создаю файл mymodule_class.РНР
if (!defined('_PS_VERSION_')) {
exit;
}
class mymodule_class{
protected static $module = false;
public function test(){
return 'test';
}
}
В другом модуле я хочу вызвать функцию "тест" :
print_r(mymodule_class::test)
или
$mymodule_class = new mymodule_class();
print_r (mymodule_class->test());
Но у меня есть ошибка:
Предпринята попытка загрузить класс "mymodule_class" из глобального пространства имен. Вы забыли инструкцию" использовать"?
Я не понимаю этого сообщения. В моем варианте все должно быть в порядке. спасибо за помощь.

Ответы - Как вызвать класс для другого в Prestashop 1.7 / How to call a class for another in Prestashop 1.7

19.11.2018 01:32:16
В другом модуле вы можете вызвать файл, если класс не существует с таким кодом :
<?php
$module_class_filename = _PS_MODULE_DIR_.'mymodule/mymoduleclass.php';
if (class_exists('mymoduleclass') || file_exists($module_class_filename)) {
// You can call the object
$mymodule = new mymoduleclass();
} else {
// You cannot
}
?>
Пожалуйста, не забудьте добавить конструктор и попытаться уважать формат генератора валидатора для модулей ( https://validator.prestashop.com/generator ) чтобы сделать его совместимым со стандартами разработки Prestashop.

06.12.2018 05:13:30
В файле другого модуля, где вы вызываете функцию класса mymodule_class
Добавь
include_once _PS_MODULE_DIR_.'yourmodulename/classes/mymodule_class.php';
Пожалуйста, добавьте эту строку в верхней части файла.

10.12.2018 10:37:04
Вызвать метод:
$myModule = Module::getInstance('MyModule');
$myModule->myMethod();
Вызов статического метода:
MyModule::myStaticMethod();