php - 从类 2 调用类 1 的函数而不扩展?

标签 php class reference

如果我有两个类 A、B,其中一个不扩展另一个类,它们是独立的,但都加载到脚本中,我仍然可以从 B 引用 A 中的函数吗?

class A {
    function one() {
        echo "Class A";
    }
}

class B {
    function two() {
        echo "Class B";
        A::one();
    }
}


$a new A; 
$b = new B;

$b->two();

最佳答案

从表面上看,是的,你可以做到这一点。但是,类 A 中的函数 one() 需要声明为 static 才能使调用表示法正常工作。 (这使其成为类方法。)

代码最后几行建议的另一种选择是让实例 $b 调用实例 $a 中的函数。此类函数称为实例方法,是您通常与对象交互的方式。要访问这些方法,必须将它们声明为 public。声明为 private 的方法只能由该类内的其他方法调用。

有多种方法可以在代码中调用实例方法。这些是明显的两个,您可以将 $a 作为参数传递给函数,或者您可以在方法中创建类 A 的实例。

你到底想要实现什么目标?

关于php - 从类 2 调用类 1 的函数而不扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7100757/

相关文章:

c++ - 创建类成员函数

用于调用 SOAP - Web 服务的 Java 类

assemblies - CLR 何时尝试加载引用的程序集?

reference - 为什么我可以返回对局部文字的引用而不是变量?

php - 在 php 中从数据库创建一个具有未知数量值的下拉列表

php - IIS WordPress 导致 Curl 错误 18

php - 空字段显示在 Codeigniter 中插入批处理错误

css - 在哪里可以找到 Bootstrap 类的 CSS 定义?

php - PHP全文搜索在elasticsearch

c# - 为引用的程序集抛出 FileNotFoundException