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

时间:2014-08-23 02:30:53

标签: php

我有两个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的理解会很棒。

2 个答案:

答案 0 :(得分:4)

您可以使用trait

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

使用:

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

需要PHP 5.4或更高版本。

答案 1 :(得分:1)

您只能为类方法指定publicprivate。类外的普通函数仅用function

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