A.3. 基类

Solar_Base类是一个轻量级的基类,所有其他类都继承自它(不包括异常类,它们都继随自Solar_Exception类)。基类提供了:

  • 一个标准的__construct()方法,首先从配置文件中获取配置信息,然后组合实例化时构造器参数和类默认的配置参数。

  • 一个$_config属性,用于收集本类和父类的配置信息。

  • 一个_exception() 方法,找出异常,并使用本地消息文本返回异常消息。

  • 一个locale() 方法,查找并返回本地文本字符串。

A.3.1. 继承基类

当你有一个类继承Solar_Base类时,确保$config = null是它有唯一的构造器参数(该类就是这样在实例化时接收配置参数的),并且在某些时候,该类会调用父构造器(使用$config参数链式向上传)。

例如:

<?php
class Solar_Example extends Solar_Base {

    // default config values
    protected $_Solar_Example = array(
        'opt_1' => 'foo',
        'opt_2' => 'bar',
        'opt_3' => 'baz'
    );
    
    // constructor
    public function __construct($config = null)
    {
        // pre-parent setup code
        // ...

        // parent construction
        parent::__construct($config);

        // post-parent setup
        // ...
    }
}