code: public static function getDdvRestfulApi($config = array(), $class = null)
      {
          // 第二个参数提前到第一个参数
          if (is_null($class) && is_string($config)) {
              $class = $config;
              $config = array();
          }
          // 判断是否实例化过
          if (empty(DdvRestfulApi::$className)) {
              // 直接使用第一次实例化的类名
              DdvRestfulApi::$className = empty($class) ? RestfulApiEcho::class : $class;
          }
          $class = DdvRestfulApi::$className;
          if (self::$ddvRestfulApiObj === null) {
              //实例化一个单例对象
              self::$ddvRestfulApiObj = empty($class) ? (new self($config)) : (new $class($config));
          }
          //返回的属性 其实就是本对象
          return self::$ddvRestfulApiObj;
      }
docs: 获取实例化对象