为了账号安全,请及时绑定邮箱和手机立即绑定

(PrestaShop) 从核心类调用静态方法的正确方法

(PrestaShop) 从核心类调用静态方法的正确方法

PHP
猛跑小猪 2021-06-10 09:45:11
核心文件之一 classes/stock/StockAvailable.php包含:class StockAvailableCore extends ObjectModel{   public static function getQuantityAvailableByProduct($id_product = null, $id_product_attribute = null, $id_shop = null)     {       ...     }  ...}我想从我的模块中调用这个 getQuantityAvailableByProduct()方法。所以我尝试包含这个类(它是父类和父类的接口),扩展它并像这样调用方法:require_once('../../src/Core/Foundation/Database/EntityInterface.php');require_once('../../classes/ObjectModel.php');require_once('../../classes/stock/StockAvailable.php');$MyClass = new StockAvailableCore();$MyClass->getStockAvailableIdByProductId($id);而我得到的错误:PHP Fatal error:  Uncaught Error: Class 'ObjectModel' not found in /home/mantas/Server/honey/classes/stock/StockAvailable.php:34我错过了什么?这是扩展类和调用方法的正确方法吗?
查看完整描述

2 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

ObjectModel.php 文件


<?php


    class ObjectModel{


        //For example I created non-static function in ObjectModel class

        public function getStockAvailableIdByProductId($id){

            return "test";

        }


        //For example I created static function in ObjectModel class

        public static function getStockAvailableIdByProductIdStatic($id){

            return "teststatic";

        }


    }

   ?>

StockAvailable.php 文件。


<?php

//Extends used to inherit the parent class property

    class StockAvailableCore extends ObjectModel

    {

       public static function getQuantityAvailableByProduct($id_product = null, $id_product_attribute = null, $id_shop = null)

         {


         }


    }



    ?>

运行.php文件


<?php


require_once('ObjectModel.php');

require_once('StockAvailable.php');


$MyClass = new StockAvailableCore();


// Access the ObjectModel function


//to access the  Non-static method need to create the object.

echo $MyClass->getStockAvailableIdByProductId($id);


//Static method access by class reference (::)

echo StockAvailableCore::getStockAvailableIdByProductIdStatic($id);

?>



查看完整回答
反对 回复 2021-06-19
  • 2 回答
  • 0 关注
  • 137 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信