使用Tie :: namespace的perl模块的常见想法是什么?

Pau*_*kov 4 perl naming tie

Tie::CPAN 上有很多带命名空间的模块- Tie :: Hash,Tie :: Sub,Tie :: Cache,Tie :: DBI等.它们之间有什么共同之处?

我检查了perltie但是我不确定我是否理解这个概念.有人可以解释一下吗?

ike*_*ami 9

Tie :: namespace中的模块分为两类:

  • 那些实现变量可以绑定的类(例如Tie :: DBI)和
  • 那些帮助用户构建这样的类(例如Tie :: Hash).

tie允许对象采用变量的接口.当您从绑定变量中读取时,实际上是在调用一种方法来检索信息.当您写入绑定变量时,实际上是在调用方法来获取信息.

例如,让我们看看绑定到Tie :: DBI的哈希.

  • 列出散列的键时,将调用一个方法,该方法将获取数据库表的每一行的主键.
  • 当您获取哈希元素的值时,将调用一个方法来获取数据库表的指定行.
  • 在创建/设置哈希元素的值时,会调用一个方法来创建/设置数据库表的指定行的字段.