00001 <?php 00002 /*************************************************************************** 00003 * Copyright (C) 2005-2007 by Konstantin V. Arkhipov * 00004 * * 00005 * This program is free software; you can redistribute it and/or modify * 00006 * it under the terms of the GNU Lesser General Public License as * 00007 * published by the Free Software Foundation; either version 3 of the * 00008 * License, or (at your option) any later version. * 00009 * * 00010 ***************************************************************************/ 00011 /* $Id: ManyToManyLinked.class.php 4687 2007-12-09 18:57:18Z voxus $ */ 00012 00016 abstract class ManyToManyLinked extends UnifiedContainer 00017 { 00018 abstract public function getHelperTable(); 00019 00020 public function getParentTableIdField() 00021 { 00022 return 'id'; 00023 } 00024 00025 public function __construct( 00026 Identifiable $parent, GenericDAO $dao, $lazy = true 00027 ) 00028 { 00029 parent::__construct($parent, $dao, $lazy); 00030 00031 $worker = 00032 $lazy 00033 ? 'ManyToManyLinkedLazy' 00034 : 'ManyToManyLinkedFull'; 00035 00036 $this->worker = new $worker($this); 00037 } 00038 } 00039 ?>