## instance - 绑定canal的instance
~~~
use api\Canal;
// 绑定canal中的instance,请先保证已经创建好对应的instance
Canal::instance('demo');
~~~
## filter - 设置需要过滤的条件
不设置则监听所有数据库的所有的表变化
~~~
use api\Canal;
// 监听数据库 db1下的所有数据表
Canal::filter([
'db1' => '*'
]);
// 监听db1下的以demo开头的数据表
Canal::filter([
'db1' => [
'demo_*'
]
]);
// 监听db1下的 demo_1和demo_2两个表
Canal::filter([
'db1' => [
'demo_1',
'demo_2'
]
]);
~~~
## watch - 开始监听
注入数据库变化的具体内容作为参数传递进回调方法
~~~
use api\Canal;
Canal::watch(function($data){
print_r($data);
});
~~~
## 完整示例
演示监听数据库“db1”中的所有表的数据变化
~~~
use api\Canal;
Canal::instance('demo')->filter([
'db1' => '*'
])->watch(function($data){
print_r($data);
});
~~~
命令行运行该控制器,此时数据库中的任意表发生数据变化时,将触发watch中的回调