+
+ /**
+ * Compose an identifying name
+ * @param array $ref
+ * @return string
+ */
+ static function name($ref) {
+ return implode("_", array_map(function($ck, $cr) {
+ return preg_replace("/_$cr\$/", "", $ck);
+ }, $ref["foreignColumns"], $ref["referencedColumns"]));
+ }
+
+ /**
+ * Implements IteratorAggregate
+ * @return \ArrayIterator
+ */
+ function getIterator() {
+ return new \ArrayIterator(array_combine(
+ $this->foreignColumns, $this->referencedColumns));
+ }