| Server IP : 34.87.99.72 / Your IP : 216.73.217.31 Web Server : Apache/2.4.46 (Unix) OpenSSL/1.1.1n System : Linux zlock-bitnami-lamp-prod-v2-vm 4.19.0-16-cloud-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 User : bitnami ( 1000) PHP Version : 7.4.18 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /opt/bitnami/apache/htdocs/app/vendor/ably/ably-php/src/ |
Upload File : |
<?php
namespace Ably;
class Channels {
private $ably;
private $channels = [];
/**
* Constructor
* @param AblyRest $ably Ably API instance
*/
public function __construct( AblyRest $ably ) {
$this->ably = $ably;
}
/**
* Creates a new Channel object for the specified channel if none exists, or returns the existing channel
* Note that if you request the same channel with different parameters, all the instances
* of the channel will be updated.
* @param string $name Name of the channel
* @param array|null $options ChannelOptions for the channel
* @return \Ably\Channel
*/
public function get( $name, $options = null ) {
if ( isset( $this->channels[$name] ) ) {
if ( !is_null( $options ) ) {
$this->channels[$name]->setOptions( $options );
}
return $this->channels[$name];
} else {
$this->channels[$name] = new Channel( $this->ably, $name, is_null( $options ) ? [] : $options );
return $this->channels[$name];
}
}
/**
* Releases the channel resource i.e. it’s deleted and can then be garbage collected
* @param string $name Name of the channel
*/
public function release( $name ) {
if ( isset( $this->channels[$name] ) ) {
unset( $this->channels[$name] );
}
}
}