设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 软件追踪 查看内容

Phalcon7发布Dao7-1.3.2,改进事件机制

2017-12-18 22:15| 发布者: joejoe0332| 查看: 388| 评论: 0|原作者: oschina|来自: oschina

摘要: 模型的属性方法增加前缀“__”。改进事件机制,能够针对部分操作对应事件进行拦截,并停止继续运行:$eventsManager=newPhalcon\Events\Manager(); $eventsManager-attach('model:beforeQuery',function($event,$mod ...

模型的属性方法增加前缀“__”。

改进事件机制,能够针对部分操作对应事件进行拦截,并停止继续运行:

$eventsManager = new Phalcon\Events\Manager();

$eventsManager->attach('model:beforeQuery'function($event, $model, $data, $prevdata) {
	if (!$prevdata) {
		return ['data' => 1];
	}
	return $prevdata;
});

$eventsManager->attach('model:beforeQuery'function($event, $model, $data, $prevdata) {
	if (!$prevdata) {
		return [];
	}
	$prevdata['data2'] = 2;
	return $prevdata;
});

$di = new Phalcon\Di\FactoryDefault;
$di->set('modelsManager'function() use ($eventsManager) {
	$modelsManager = new Phalcon\Mvc\Model\Manager();
	$modelsManager->setEventsManager($eventsManager);
	return $modelsManager;
}, true);

class Robots extends Phalcon\Mvc\Model {
	public function beforeQuery($event, $data, $prevdata) {
		if (!$prevdata) {
			return [];
		}
		$prevdata['data3'] = 3;
		return $prevdata;
	}
}

var_dump(Robots::find());

返回:

array(2) {
  ["data"]=>
  int(1)
  ["data2"]=>
  int(2)
  ["data3"]=>
  int(3)
}

酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部