$description
$description : string
Object description
CakePHP network socket connection class.
Core base class for network communication.
setConfig(string|array $key, mixed|null $value = null, boolean $merge = true) : $this
Sets the config.
Setting a specific value:
$this->setConfig('key', $value);
Setting a nested value:
$this->setConfig('some.nested.key', $value);
Updating multiple config settings at the same time:
$this->setConfig(['one' => 'value', 'another' => 'value']);
string|array | $key | The key to set, or a complete array of configs. |
mixed|null | $value | The value to set. |
boolean | $merge | Whether to recursively merge or overwrite existing config, defaults to true. |
When trying to set a key that is invalid.
getConfig(string|null $key = null, mixed $default = null) : mixed
Returns the config.
Reading the whole config:
$this->getConfig();
Reading a specific value:
$this->getConfig('key');
Reading a nested value:
$this->getConfig('some.nested.key');
Reading with default value:
$this->getConfig('some-key', 'default-value');
string|null | $key | The key to get or null for the whole config. |
mixed | $default | The return value when the key does not exist. |
Config value being read.
config(string|array|null $key = null, mixed|null $value = null, boolean $merge = true) : mixed
Gets/Sets the config.
Reading the whole config:
$this->config();
Reading a specific value:
$this->config('key');
Reading a nested value:
$this->config('some.nested.key');
Setting a specific value:
$this->config('key', $value);
Setting a nested value:
$this->config('some.nested.key', $value);
Updating multiple config settings at the same time:
$this->config(['one' => 'value', 'another' => 'value']);
string|array|null | $key | The key to get/set, or a complete array of configs. |
mixed|null | $value | The value to set. |
boolean | $merge | Whether to recursively merge or overwrite existing config, defaults to true. |
When trying to set a key that is invalid.
Config value being read, or the object itself on write operations.
configShallow(string|array $key, mixed|null $value = null) : $this
Merge provided config with existing config. Unlike `config()` which does a recursive merge for nested keys, this method does a simple merge.
Setting a specific value:
$this->configShallow('key', $value);
Setting a nested value:
$this->configShallow('some.nested.key', $value);
Updating multiple config settings at the same time:
$this->configShallow(['one' => 'value', 'another' => 'value']);
string|array | $key | The key to set, or a complete array of configs. |
mixed|null | $value | The value to set. |
None found |
__construct(array $config = array())
Constructor.
array | $config | Socket configuration, which will be merged with the base configuration |
None found |
connect() : boolean
Connect the socket to the given host and port.
Success
None found |
context() : null|array
Get the connection context.
Null when there is no connection, an array when there is.
None found |
None found |
address() : string
Get the IP address of the current connection.
IP address
None found |
addresses() : array
Get all IP addresses associated with the current connection.
IP addresses
None found |
lastError() : string|null
Get the last error as a string.
Last error
None found |
setLastError(integer $errNum, string $errStr) : void
Set the last error.
integer | $errNum | Error code |
string | $errStr | Error string |
None found |
write(string $data) : integer|false
Write data to the socket.
The bool false return value is deprecated and will be int 0 in the next major. Please code respectively to be future proof.
string | $data | The data to write to the socket. |
Bytes written.
None found |
read(integer $length = 1024) : mixed
Read data from the socket. Returns false if no data is available or no connection could be established.
The bool false return value is deprecated and will be null in the next major. Please code respectively to be future proof.
integer | $length | Optional buffer length to read; defaults to 1024 |
Socket data
None found |
disconnect() : boolean
Disconnect the socket from the current connection.
Success
None found |
None found |
reset(array|null $state = null) : boolean
Resets the state of this Socket instance to it's initial state (before Object::__construct got executed)
array|null | $state | Array with key and values to reset |
True on success
None found |
enableCrypto(string $type, string $clientOrServer = 'client', boolean $enable = true) : boolean
Encrypts current stream socket, using one of the defined encryption methods
string | $type | can be one of 'ssl2', 'ssl3', 'ssl23' or 'tls' |
string | $clientOrServer | can be one of 'client', 'server'. Default is 'client' |
boolean | $enable | enable or disable encryption. Default is true (enable) |
When an invalid encryption scheme is chosen.
When attempting to enable SSL/TLS fails
True on success
None found |
_configRead(string|null $key) : mixed
Reads a config key.
string|null | $key | Key to read. |
None found |
_configWrite(string|array $key, mixed $value, boolean|string $merge = false) : void
Writes a config key.
string|array | $key | Key to write to. |
mixed | $value | Value to write. |
boolean|string | $merge | True to merge recursively, 'shallow' for simple merge, false to overwrite, defaults to false. |
if attempting to clobber existing config
None found |
_configDelete(string $key) : void
Deletes a single config key.
string | $key | Key to delete. |
if attempting to clobber existing config
None found |
_setSslContext(string $host) : void
Configure the SSL context options.
string | $host | The host name being connected to. |
None found |
_connectionErrorHandler(integer $code, string $message) : void
socket_stream_client() does not populate errNum, or $errStr when there are connection errors, as in the case of SSL verification failure.
Instead we need to handle those errors manually.
integer | $code | Code number. |
string | $message | Message. |
None found |