/** * This is the default template to use if no * template has been provided. The template * tells the class which default values to use. * While there is a slight overhead for object * creation once per execution (not once per * Request instantiation), it promotes readability * and flexibility within the class. */ private static function _initializeDefaults() { // This is the only place you will // see this constructor syntax. It // is only done here to prevent infinite // recusion. Do not use this syntax elsewhere. // It goes against the whole readability // and transparency idea. self::$_template = new self(array('method' => Http::GET)); // This is more like it... self::$_template->withoutStrictSSL(); }