PrestaShop的Context是一个单列类,用于存储在一个完整的URL请求中所常用的信息,简单的理解可以认为这是一个大的全局变量合集. 比如,我想获取网站信息那么 Context::getContext()->shop 可以轻松获取当前shop对象,你要获取当前的语言 Context::getContext()->language 你无需知道id_language,便可以轻松的获取这些信息,当然这些信息能够直接拿来就用,完全在于这获取之前,我们给它赋予过值,打开classes/Context.php文件,你会发现,该文件注示加代码不超过200行,代码可谓是相当简单了. 其中代码中一个静态方法 public static function getContext() { if (!isset(self::$instance)) self::$instance = new Context(); return self::$instance; } 返回一个context的单列类,再看看 protected static $instance; public $cart; public $customer; public $cookie; public $link; public $country; public $employee; public $controller; public $language; public $currency; public $tab; public $shop; public $smarty; public $mobile_detect;涵盖了大部分的常用类,因此借住单列类的优势的,可以不断的向实列中添加或者更新数据(责任编辑:好模板) |