发布于 2017-12-18 02:31:12 | 227 次阅读 | 评论: 0 | 来源: 网友投递
Phalcon开源PHP框架
PhalconPHP 是一个使用 C 扩展开发的 PHP Web 框架,提供高性能和低资源占用。
模型的属性方法增加前缀“__”。
改进事件机制,能够针对部分操作对应事件进行拦截,并停止继续运行:
$eventsManager = new PhalconEventsManager(); $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 PhalconDiFactoryDefault; $di->set('modelsManager', function() use ($eventsManager) { $modelsManager = new PhalconMvcModelManager(); $modelsManager->setEventsManager($eventsManager); return $modelsManager; }, true); class Robots extends PhalconMvcModel { 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) }