How to use functions

时间:2015-11-28 作者:nick

我已经在我的网站上安装了WPdeposit插件,它允许用户存入他们的帐户余额。当用户按下页面上的锚定标记时,我试图操纵用户的平衡。

在plugins/models/user目录中。php有很多函数,我想我对这一个很感兴趣:

 /**
 * Update Regular balance to given amount (Will overwrite whatever value is in the db!)
 *
 * @param int $amount
 * @return boolean
 */
public function updateRegularBalance($amount) {
    if (floatval($amount)) {
        return (bool) update_user_meta($this->_id, WPDEPOSIT_NAME.self::USER_AMOUNT, $amount);
    } else {
        throw new \\Exception(__(\'Amount is not a number\', WPDEPOSIT_NAME));
    }
}
当我尝试调用这个函数到主题索引的页面时。php类似:

updateRegularBalance(5);
但我收到了这个错误。

致命错误:调用未定义的函数updateregularbance()

是否有方法访问此函数的使用,以便传入要更新余额的值?

1 个回复
最合适的回答,由SO网友:AddWeb Solution Pvt Ltd 整理而成

要回答您的问题,当前的方法是创建对象,然后调用该方法:

$objClassName = new ClassName();
$var = $objClassName->updateRegularBalance(5);
另一种方法是使方法静态,因为类没有可依赖的私有数据(在您的情况下):

public static function updateRegularBalance($amount){}
这可以这样称为:

$var = ClassName::updateRegularBalance(5);
从PHP 5.3.0开始,可以使用变量引用该类。变量的值不能是关键字(例如self、parent和static)。

最后,您不需要类,只需要一个包含函数的文件即可。因此,您删除了方法中的类名称和public。

请查看上的PHP手册部分Object Oriented programming.

如果有任何问题,请告诉我。

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请