访问实例化的类

时间:2022-02-26 作者:Sébastien Serre

我有一个PHP类在做一些事情:

<?php


class Cart {

    //....
}

$cart = new Cart();
$cart->init();

function deposit_total(){
    global  $cart;
    $totals = array_sum( $cart::$deposits );
    return $totals;
}

如何使用$cart 仅在函数中实例化(deposit_total()) 课外活动?

非常感谢。

1 个回复
SO网友:Sébastien Serre

我做过类似的事情:

<?php


class Cart {
    protected static $_instance = null;

    public static function instance() {
        if ( is_null( self::$_instance ) ) {
            self::$_instance = new self();
        }
        return self::$_instance;
    }
    //....
}

$cart = new Cart();
$cart->init();

function EVA_Cart() {
    return Cart::instance();
}

function deposit_total(){
    $cart = EVA_Cart();
    $totals = array_sum( $cart->deposits );
    return wc_price( $totals );
}
这是最好的方式吗?

相关推荐

如何在稍后的子主题中加载脚本代码或函数.php?

我在函数中放置了一些JS代码。php在我的子主题中,但它首先加载。因此,我试图让它比其他文件加载得晚,因为它需要Jquery。我尝试将WP的内置jquery排队,如下所示,但我仍然得到"$ not defined" 错误,因为我认为排队函数稍后运行。我怎样才能做到这一点?我应该把代码放在页脚吗。php?