Erebot  latest
A modular IRC bot for PHP 5.3+
Base.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\Proxy;
22 
27 abstract class Base
28 {
30  protected $socket;
31 
33  protected $logger;
34 
41  public function __construct($socket)
42  {
43  if (!is_resource($socket)) {
44  throw new \Erebot\InvalidValueException('Not a socket');
45  }
46 
47  $this->socket = $socket;
48  $logging = \Plop\Plop::getInstance();
49  $this->logger = $logging->getLogger(__FILE__ . DIRECTORY_SEPARATOR);
50  }
51 
65  abstract public function proxify(
66  \Erebot\URIInterface $proxyURI,
67  \Erebot\URIInterface $nextURI
68  );
69 }
Interface for a Uniform Resource Identifier parser/generator compatible with RFC 3986.
Definition: CLI.php:21
$logger
A logger for this proxy client.
Definition: Base.php:33
proxify(\Erebot\URIInterface $proxyURI,\Erebot\URIInterface $nextURI)
Base class for a proxy client.
Definition: Base.php:27
$socket
A socket on which to operate.
Definition: Base.php:30
__construct($socket)
Definition: Base.php:41