几段有趣的代码
1.
Registry是一个全局注册表
//base.php
static function instance() {
if (!Registry::exists($class=get_called_class())) {
$ref=new Reflectionclass($class);
$args=func_get_args();
Registry::set($class,
$args?$ref->newinstanceargs($args):new $class);
}
return Registry::get($class);
}
$ref=new Reflectionclass($class);
$args=func_get_args();
Registry::set($class,
$args?$ref->newinstanceargs($args):new $class);
}
return Registry::get($class);
}
2.
class AlipayPlugin extends AbstractBasePlugin
{
{
//代码省略....
}
// 全局命名空间代码,我们在这里生成一个插件的实例返回给加载程序
namespace {
// 返回 plugin instance
return Plugin\Payment\Alipay\AlipayPlugin::instance();
}
namespace {
// 返回 plugin instance
return Plugin\Payment\Alipay\AlipayPlugin::instance();
}
3.
class ThemeHelper extends PluginHelper
{
{
public static function doActiveThemeAction($system)
{
static::doActivePluginAction($system);
}
{
static::doActivePluginAction($system);
}
}

浙公网安备 33010602011771号