繁体   English   中英

如何在PHP中定义一个供两个不同类使用的函数?

[英]How do I define a function in PHP for use by two different classes?

我有两个PHP类,并且想要做这样的事情:

class Class1
{
    $x=3;
    coolFunction($x);
    }

class Class2
{
    $y = 7;
    coolFunction($y);
    }

我试着做:

public function coolFunction($z)
{
    $youGetTheIdea = 10;
    return $z + $youGetTheIdea;
    }

但是PHP不喜欢那样,在这一点上我很茫然。 如何使两个类都可以访问该函数,或者有没有办法做类似的事情? 我来自Python背景,因此您可以做的一切都可以帮助我理解PHP。

您可以使用特质

trait TraitCoolFunction {
    private function coolFunction($z) {
        $youGettheIdea = 10;
        return $z + $youGetTheIdea;
    }
}

使用方法:

class Class1 {
    use TraitCoolFunction;
    /* other stuff here */
}

需要PHP 5.4或更高版本。

您只能为类方法指定publicprivate 类外的普通函数仅通过function定义:

function coolFunction($z)
{
    $youGetTheIdea = 10;
    return $z + $youGetTheIdea;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM