Anotace metody pro transakce
- kutilm
- Člen | 21
Ahoj,
chtěl bych zkusit napsat anotaci, která by zajistila, aby se všechny volání
na databázi v metodě prováděla v transakci. Třeba nějak takhle:
<?php
class MyModel extends Object
{
/**
* @dbTransaction
*/
public function myMethod()
{
...
}
?>
Bohužel mi uniká hodně věcí kolem anotaci a tak nevím jak zajistit, aby
se kód spustil před voláním myMethod
. Jde to vůbec? Co jsem si
tak zkoušel jednu obsluhu anotace, tak to bylo pro signály, a tam jsem volal
vše ručně přes metodu signalReceived
.
Druhou otázkou je, jak pak takovou anotaci vůbec rozumně implementovat, nicméně zatím jsem se nedostal ani k tomu jak ji zavolat, takže to budu řešit pak.
Děkuji Michal
- bazo
- Člen | 620
no ja napriklad pouzivam autoamticke cachovanie vysledku funkcie modelu, pouzivam na to __call(), s tym, ze funkcie v modeli maju prefix _getNieco(), a volam ich $model->getNieco.
a anotaciu si zistis
$method = $this->reflection->getMethod($method_name);
$method->getAnnotation('anotacia')