php - 调用通用静态类方法 php

标签 php oop templates

我想编写一个泛型方法来引用 php 中的泛型类(但方法相同)。

class A {

    public static function Dox(){
    }

}

class B {

    public static function Dox(){
    }

}

class C{

    public static function Include($class){
    $result = $class::Dox(); //instead of 2 methods => A::Dox and B::Dox
    }

}

我收到一个错误。 有什么建议吗?

最佳答案

includekeyword 。将您的方法重命名为 foo()、bar() 或任何非关键字的名称。

例如

<?php
class A {
    public static function Dox() { return 'A::Dox'; }
}

class B {
    public static function Dox() { return 'B::Dox'; }
}

class C {
    public static function foo($class) {
        $result = $class::Dox();
        echo 'result: ', $result, "\n";
    }
}

foreach( array('A','B') as $c ) {
    C::foo($c);
}

打印

result: A::Dox
result: B::Dox

关于php - 调用通用静态类方法 php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12174536/

相关文章:

java - 代码设计使以后添加类似任务变得容易

amazon-web-services - 如何在速度模板中添加生成随机 UUID 等功能,用于 API 网关中的请求/响应映射

Django 模板 - 我可以设置要在父模板中使用的变量吗?

PHP/MySQL我选择多列

php - 如何修复 Laravel Nova 中的 `Undefined property: Illuminate\View\Factory::$iteration` 错误

class - 使用自动生成的公共(public)属性方法与创建访问私有(private)属性的方法

c++ - 获取模板参数的 decltype

php - 错误 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL

php - XML/PHP : Content is not allowed in prolog

unit-testing - 为单元测试优化一个类是好的做法,还是为时过早?