в плагине, который я разрабатываю, мне нужно динамически расширять модель другого плагина статическим методом. Я понятия не имею, как это сделать.Динамическое расширение модели со статическим методом
В моем плагине, я курсовой объект сеанса, который наследуется от Иржи/JKShop/Модель/продукта
В таблице jiri_jkshop_products, я добавил is_course поля.
Перед созданием объекта продукта, я хотел бы знать, если это конечно продукт или нет следующим образом:
if (\Jiri\JKShop\Models\Product::isCourse($productJson["product_id"])) {
$product = \PluginAuthor\PluginName\Models\Session::find($productJson["product_id"]);
} else {
$product = \Jiri\JKShop\Models\Product::find($productJson["product_id"]);
}
Пожалуйста, как динамически добавить статический метод модели продукта в плагине .php-файл моего плагина?
Я надеюсь, что эта идея соответствует элегантному коду, если у вас есть лучше, я слишком
спасибо заранее & уважения, Патрик
Вы изучили метод '__callStatic()' magic? Он будет вызываться, если вы вызываете статический метод для объекта, который на самом деле не имеет этого метода, установленного по умолчанию. Больше информации здесь: http://php.net/manual/en/language.oop5.overloading.php#object.callstatic –
благодарит Дениса, его приятная функция, но моя цель - не изменять модель продукта напрямую (я хочу сохраняйте его целостность), но динамически в моей функции загрузки plugin.php –