Erebot  latest
A modular IRC bot for PHP 7.0+
ConnectionFactory.php
1 <?php
2 /*
3  This file is part of Erebot, a modular IRC bot written in PHP.
4 
5  Copyright © 2010 François Poirotte
6 
7  Erebot is free software: you can redistribute it and/or modify
8  it under the terms of the GNU General Public License as published by
9  the Free Software Foundation, either version 3 of the License, or
10  (at your option) any later version.
11 
12  Erebot is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with Erebot. If not, see <http://www.gnu.org/licenses/>.
19 */
20 
21 namespace Erebot;
22 
27 class ConnectionFactory implements \Erebot\Interfaces\ConnectionFactory
28 {
30  protected $connectionCls;
31 
33  protected $eventClasses;
34 
46  public function __construct($connectionCls, $eventClasses)
47  {
48  $this->connectionCls = $connectionCls;
49  $this->eventClasses = $eventClasses;
50  }
51 
52  public function newConnection($bot, $config)
53  {
54  $connectionCls = $this->connectionCls;
55  return new $connectionCls($bot, $config, $this->eventClasses);
56  }
57 }
$eventClasses
Mapping of event interfaces to their factory.
$connectionCls
Class to use to create connections.
__construct($connectionCls, $eventClasses)
Connection factory.