PHP设计模式用于允许不相互扩展的类可以访问其他属性

时间:2015-11-30 14:34:53

标签: php

我有一个类:site_info,它加载站点配置参数。

我还有一个路由器类,一个用户类和一个搜索类。搜索类需要来自用户类,路由器类和site_info的属性和方法,但是目前路由器类扩展了site_info,搜索类扩展了site_info,用户扩展了site_info。

我应该将site_info,用户类和路由器都放在一个类中,然后让搜索类扩展这个类吗?或者有更好的方法。

这些类中的每一个都由类实例表示,并且site_info通过数组重载到构造函数中以填充一些类属性。

1 个答案:

答案 0 :(得分:0)

看看这个例子没有任何继承或实例(并且仍然可以获得私有属性):

Class MyClass {

    private static $myProperty = "test";
    public static function getProp(){
        return self::$myProperty;
    }   

}

Class MyOtherClass {

    public static function getProperty(){
        return MyClass::getProp();
    }

}

echo MyOtherClass::getProperty(); //Echos test