update stubs to suite different php versions

This commit is contained in:
Ivan Fedorov 2021-05-06 22:59:49 +03:00 committed by Ivan Fedorov
parent afac32028c
commit 9a29812c1b
26 changed files with 291 additions and 201 deletions

View File

@ -1469,7 +1469,11 @@ class PDOStatement implements IteratorAggregate
* ORDER BY clauses in SQL to restrict results before retrieving and
* processing them with PHP.
*/
public function fetchAll($mode = PDO::FETCH_BOTH, ...$args) {}
public function fetchAll(
$mode = PDO::FETCH_BOTH,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] $fetch_argument = null,
...$args
) {}
/**
* (PHP 5 &gt;= 5.1.0, PHP 7, PECL pdo &gt;= 0.2.4)<br/>

View File

@ -3,6 +3,7 @@
use JetBrains\PhpStorm\ArrayShape;
use JetBrains\PhpStorm\Internal\LanguageLevelTypeAware;
use JetBrains\PhpStorm\Internal\PhpStormStubsElementAvailable;
/**
* The PharException class provides a phar-specific exception class
@ -271,7 +272,7 @@ class Phar extends RecursiveDirectoryIterator implements RecursiveIterator, Seek
* @return int The number of files contained within this phar, or 0 (the number zero)
* if none.
*/
public function count($mode = COUNT_NORMAL) {}
public function count(#[PhpStormStubsElementAvailable(from: '8.0')] $mode = COUNT_NORMAL) {}
/**
* (PHP &gt;= 5.3.0, PECL phar &gt;= 2.0.0)<br/>
@ -327,7 +328,7 @@ class Phar extends RecursiveDirectoryIterator implements RecursiveIterator, Seek
* @return mixed any PHP variable that can be serialized and is stored as meta-data for the Phar archive,
* or <b>NULL</b> if no meta-data is stored.
*/
public function getMetadata(array $unserializeOptions = []) {}
public function getMetadata(#[PhpStormStubsElementAvailable(from: '8.0')] array $unserializeOptions = []) {}
/**
* (PHP &gt;= 5.3.0, PECL phar &gt;= 1.0.0)<br/>
@ -1107,7 +1108,7 @@ class PharFileInfo extends SplFileInfo
* @return mixed any PHP variable that can be serialized and is stored as meta-data for the file,
* or <b>NULL</b> if no meta-data is stored.
*/
public function getMetadata(array $unserializeOptions = []) {}
public function getMetadata(#[PhpStormStubsElementAvailable(from: '8.0')] array $unserializeOptions = []) {}
/**
* (PHP &gt;= 5.3.0, PECL phar &gt;= 1.0.0)<br/>

View File

@ -8092,6 +8092,8 @@ const CONSTANTS = array (
'MING_NEW' => 'ming/ming.php',
'MING_ZLIB' => 'ming/ming.php',
'MK_E_UNAVAILABLE' => 'com_dotnet/com_dotnet.php',
'MONGODB_STABILITY' => 'mongodb/mongodb.php',
'MONGODB_VERSION' => 'mongodb/mongodb.php',
'MON_1' => 'standard/standard_defines.php',
'MON_10' => 'standard/standard_defines.php',
'MON_11' => 'standard/standard_defines.php',

View File

@ -2,6 +2,7 @@
use JetBrains\PhpStorm\Deprecated;
use JetBrains\PhpStorm\Immutable;
use JetBrains\PhpStorm\Internal\PhpStormStubsElementAvailable;
use JetBrains\PhpStorm\Internal\LanguageLevelTypeAware;
use JetBrains\PhpStorm\Internal\PhpStormStubsElementAvailable;
use JetBrains\PhpStorm\Pure;
@ -252,7 +253,7 @@ class ReflectionClass implements Reflector
* @since 7.1
*/
#[Pure]
public function getReflectionConstants(?int $filter = ReflectionClassConstant::IS_PUBLIC|ReflectionClassConstant::IS_PROTECTED|ReflectionClassConstant::IS_PRIVATE) {}
public function getReflectionConstants(#[PhpStormStubsElementAvailable(from: '8.0')] ?int $filter = ReflectionClassConstant::IS_PUBLIC|ReflectionClassConstant::IS_PROTECTED|ReflectionClassConstant::IS_PRIVATE) {}
/**
* Checks if constant is defined
@ -272,7 +273,7 @@ class ReflectionClass implements Reflector
* the values the value of the constants.
*/
#[Pure]
public function getConstants($filter = ReflectionClassConstant::IS_PUBLIC|ReflectionClassConstant::IS_PROTECTED|ReflectionClassConstant::IS_PRIVATE) {}
public function getConstants(#[PhpStormStubsElementAvailable(from: '8.0')] $filter = ReflectionClassConstant::IS_PUBLIC|ReflectionClassConstant::IS_PROTECTED|ReflectionClassConstant::IS_PRIVATE) {}
/**
* Gets defined constant

View File

@ -1,6 +1,7 @@
<?php
// Start of SPL v.0.2
use JetBrains\PhpStorm\Internal\PhpStormStubsElementAvailable;
use JetBrains\PhpStorm\Internal\LanguageLevelTypeAware;
/**
@ -409,7 +410,7 @@ class IteratorIterator implements OuterIterator
* @param Traversable $iterator
* @param string $class [optional]
*/
public function __construct(Traversable $iterator, $class = '') {}
public function __construct(Traversable $iterator, #[PhpStormStubsElementAvailable(from: '8.0')] $class = '') {}
/**
* Get the inner iterator
@ -1374,7 +1375,7 @@ class RecursiveTreeIterator extends RecursiveIteratorIterator
/**
* @param string $postfix
*/
public function setPostfix($postfix) {}
public function setPostfix(#[PhpStormStubsElementAvailable(from: '7.3')] $postfix) {}
/**
* Set a part of the prefix
@ -1548,7 +1549,7 @@ class ArrayObject implements IteratorAggregate, ArrayAccess, Serializable, Count
* @param int $flags [optional]
* @return void
*/
public function asort($flags = SORT_REGULAR) {}
public function asort(#[PhpStormStubsElementAvailable(from: '8.0')] $flags = SORT_REGULAR) {}
/**
* Sort the entries by key
@ -1556,7 +1557,7 @@ class ArrayObject implements IteratorAggregate, ArrayAccess, Serializable, Count
* @param int $flags [optional]
* @return void
*/
public function ksort($flags = SORT_REGULAR) {}
public function ksort(#[PhpStormStubsElementAvailable(from: '8.0')] $flags = SORT_REGULAR) {}
/**
* Sort the entries with a user-defined comparison function and maintain key association
@ -1692,7 +1693,11 @@ class ArrayIterator implements SeekableIterator, ArrayAccess, Serializable, Coun
* @param int $flags Flags to control the behaviour of the ArrayObject object.
* @see ArrayObject::setFlags()
*/
public function __construct($array = [], $flags = 0) {}
public function __construct(
$array = [],
$flags = 0,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.1')] $iterator_class = null
) {}
/**
* Check if offset exists
@ -1789,7 +1794,7 @@ class ArrayIterator implements SeekableIterator, ArrayAccess, Serializable, Coun
* @param int $flags [optional]
* @return void
*/
public function asort($flags = SORT_REGULAR) {}
public function asort(#[PhpStormStubsElementAvailable(from: '8.0')] $flags = SORT_REGULAR) {}
/**
* Sort array by keys
@ -1797,7 +1802,7 @@ class ArrayIterator implements SeekableIterator, ArrayAccess, Serializable, Coun
* @param int $flags [optional]
* @return void
*/
public function ksort($flags = SORT_REGULAR) {}
public function ksort(#[PhpStormStubsElementAvailable(from: '8.0')] $flags = SORT_REGULAR) {}
/**
* User defined sort

View File

@ -1883,7 +1883,7 @@ class SplObjectStorage implements Countable, Iterator, Serializable, ArrayAccess
* @param int $mode [optional]
* @return int The number of objects in the storage.
*/
public function count($mode = COUNT_NORMAL) {}
public function count(#[PhpStormStubsElementAvailable(from: '8.0')] $mode = COUNT_NORMAL) {}
/**
* Rewind the iterator to the first storage element

View File

@ -2478,7 +2478,7 @@ function curl_reset(#[LanguageLevelTypeAware(["8.0" => "CurlHandle"], default: "
* Run the sub-connections of the current cURL handle
* @link https://php.net/manual/en/function.curl-multi-exec.php
* @param CurlMultiHandle|resource $multi_handle
* @param int &$still_running <p>
* @param int &$still_running [optional] <p>
* A reference to a flag to tell whether the operations are still running.
* </p>
* @return int A cURL code defined in the cURL Predefined Constants.

View File

@ -4,6 +4,7 @@
use JetBrains\PhpStorm\ArrayShape;
use JetBrains\PhpStorm\Deprecated;
use JetBrains\PhpStorm\Internal\LanguageLevelTypeAware;
use JetBrains\PhpStorm\Internal\PhpStormStubsElementAvailable;
use JetBrains\PhpStorm\Pure;
/**
@ -414,19 +415,19 @@ function gmdate(string $format, ?int $timestamp) {}
* @param int $hour [optional] <p>
* The number of the hour.
* </p>
* @param int $minute [optional] <p>
* @param int|null $minute [optional] <p>
* The number of the minute.
* </p>
* @param int $second [optional] <p>
* @param int|null $second [optional] <p>
* The number of seconds past the minute.
* </p>
* @param int $month [optional] <p>
* @param int|null $month [optional] <p>
* The number of the month.
* </p>
* @param int $day [optional] <p>
* @param int|null $day [optional] <p>
* The number of the day.
* </p>
* @param int $year [optional] <p>
* @param int|null $year [optional] <p>
* The number of the year, may be a two or four digit value,
* with values between 0-69 mapping to 2000-2069 and 70-100 to
* 1970-2000. On systems where time_t is a 32bit signed integer, as
@ -459,7 +460,16 @@ function gmdate(string $format, ?int $timestamp) {}
* it returned -1).
*/
#[Pure]
function mktime($hour = null, $minute = null, $second = null, $month = null, $day = null, $year = null, #[Deprecated('Use the new timezone handling functions instead', since: '5.3')] $is_dst = -1): int|false {}
function mktime(
int $hour = null,
?int $minute = null,
?int $second = null,
?int $month = null,
?int $day = null,
?int $year = null,
#[Deprecated('Use the new timezone handling functions instead', since: '5.3')]
#[PhpStormStubsElementAvailable(to: '7.0')] $is_dst = -1
): int|false {}
/**
* Get Unix timestamp for a GMT date
@ -489,7 +499,15 @@ function mktime($hour = null, $minute = null, $second = null, $month = null, $da
* @return int|false a integer Unix timestamp.
*/
#[Pure]
function gmmktime($hour = null, $minute = null, $second = null, $month = null, $day = null, $year = null, $is_dst = null): int|false {}
function gmmktime(
int $hour = null,
?int $minute = null,
?int $second = null,
?int $month = null,
?int $day = null,
?int $year = null,
#[PhpStormStubsElementAvailable(to: '7.0')] $is_dst = null
): int|false {}
/**
* Validate a Gregorian date

View File

@ -2,6 +2,7 @@
use JetBrains\PhpStorm\ArrayShape;
use JetBrains\PhpStorm\Pure;
use JetBrains\PhpStorm\Internal\PhpStormStubsElementAvailable;
use JetBrains\PhpStorm\Internal\LanguageLevelTypeAware;
/**
@ -898,7 +899,7 @@ class DatePeriod implements IteratorAggregate
*/
public function getStartDate() {}
public static function __set_state($array) {}
public static function __set_state(#[PhpStormStubsElementAvailable(from: '7.3')] $array) {}
public function __wakeup() {}

View File

@ -2,6 +2,7 @@
//20120405 AG synced to official docs
use JetBrains\PhpStorm\Deprecated;
use JetBrains\PhpStorm\Internal\PhpStormStubsElementAvailable;
use JetBrains\PhpStorm\Internal\LanguageLevelTypeAware;
/**
@ -271,6 +272,17 @@ class DOMNode
*/
public function isDefaultNamespace($namespace) {}
/**
* Gets the namespace URI of the node based on the prefix
* @link https://php.net/manual/en/domnode.lookupnamespaceuri.php
* @param string|null $prefix <p>
* The prefix of the namespace.
* </p>
* @return string The namespace URI of the node.
*/
#[PhpStormStubsElementAvailable(from: '8.0')]
public function lookupNamespaceURI(?string $prefix) {}
/**
* Gets the namespace URI of the node based on the prefix
* @link https://php.net/manual/en/domnode.lookupnamespaceuri.php
@ -279,8 +291,8 @@ class DOMNode
* </p>
* @return string The namespace URI of the node.
*/
public function lookupNamespaceURI($prefix) {}
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')]
public function lookupNamespaceUri($prefix) {}
/**
* @param DOMNode $arg
* @return bool
@ -2115,7 +2127,7 @@ class DOMXPath
* @param DOMDocument $document The <classname>DOMDocument</classname> associated with the <classname>DOMXPath</classname>.
* @param bool $registerNodeNS [optional] allow global flag to configure query() or evaluate() calls. Since 8.0.
*/
public function __construct(DOMDocument $document, $registerNodeNS = true) {}
public function __construct(DOMDocument $document, #[PhpStormStubsElementAvailable(from: '8.0')] $registerNodeNS = true) {}
/**
* Registers the namespace with the <classname>DOMXPath</classname> object

View File

@ -2,11 +2,19 @@
// Start of fileinfo v.1.0.5
use JetBrains\PhpStorm\Internal\PhpStormStubsElementAvailable;
use JetBrains\PhpStorm\Internal\LanguageLevelTypeAware;
use JetBrains\PhpStorm\Pure;
class finfo
{
/**
* @param $options [optional]
* @param $arg [optional]
*/
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.2')]
public function finfo($options, $arg) {}
/**
* @param int $flags [optional]
* @param string $magic_database [optional]

View File

@ -163,58 +163,7 @@ function imap_headers(#[LanguageLevelTypeAware(['8.1' => 'IMAP\Connection'], def
* <dt>fetchsubject</dt><dd>subject line formatted to fit subjectlength characters</dd>
* </dl>
*/
#[PhpStormStubsElementAvailable(to: '7.4')]
function imap_headerinfo($stream_id, $msg_no, $from_length = 0, $subject_length = 0, $default_host = null) {}
/**
* Read the header of the message
* @link https://php.net/manual/en/function.imap-headerinfo.php
* @param resource $stream_id An IMAP stream returned by imap_open().
* @param int $msg_no The message number
* @param int $from_length [optional] Number of characters for the fetchfrom property. Must be greater than or equal to zero.
* @param int $subject_length [optional] Number of characters for the fetchsubject property Must be greater than or equal to zero.
* @return object Returns the information in an object with following properties:
* <dl>
* <dt>toaddress</dt><dd>full to: line, up to 1024 characters</dd>
* <dt>to</dt><dd>an array of objects from the To: line, with the following properties: personal, adl, mailbox, and host</dd>
* <dt>fromaddress</dt><dd>full from: line, up to 1024 characters</dd>
* <dt>from</dt><dd>an array of objects from the From: line, with the following properties: personal, adl, mailbox, and host</dd>
* <dt>ccaddress</dt><dd>full cc: line, up to 1024 characters</dd>
* <dt>cc</dt><dd>an array of objects from the Cc: line, with the following properties: personal, adl, mailbox, and host</dd>
* <dt>bccaddress</dt><dd>full bcc: line, up to 1024 characters</dd>
* <dt>bcc</dt><dd>an array of objects from the Bcc: line, with the following properties: personal, adl, mailbox, and host</dd>
* <dt>reply_toaddress</dt><dd>full Reply-To: line, up to 1024 characters</dd>
* <dt>reply_to</dt><dd>an array of objects from the Reply-To: line, with the following properties: personal, adl, mailbox, and host</dd>
* <dt>senderaddress</dt><dd>full sender: line, up to 1024 characters</dd>
* <dt>sender</dt><dd>an array of objects from the Sender: line, with the following properties: personal, adl, mailbox, and host</dd>
* <dt>return_pathaddress</dt><dd>full Return-Path: line, up to 1024 characters</dd>
* <dt>return_path</dt><dd>an array of objects from the Return-Path: line, with the following properties: personal, adl, mailbox, and host</dd>
* <dt>remail -</dt>
* <dt>date</dt><dd>The message date as found in its headers</dd>
* <dt>Date</dt><dd>Same as date</dd>
* <dt>subject</dt><dd>The message subject</dd>
* <dt>Subject</dt><dd>Same a subject</dd>
* <dt>in_reply_to -</dt>
* <dt>message_id -</dt>
* <dt>newsgroups -</dt>
* <dt>followup_to -</dt>
* <dt>references -</dt>
* <dt>Recent</dt><dd>R if recent and seen, N if recent and not seen, ' ' if not recent.</dd>
* <dt>Unseen</dt><dd>U if not seen AND not recent, ' ' if seen OR not seen and recent</dd>
* <dt>Flagged</dt><dd>F if flagged, ' ' if not flagged</dd>
* <dt>Answered</dt><dd>A if answered, ' ' if unanswered</dd>
* <dt>Deleted</dt><dd>D if deleted, ' ' if not deleted</dd>
* <dt>Draft</dt><dd>X if draft, ' ' if not draft</dd>
* <dt>Msgno</dt><dd>The message number</dd>
* <dt>MailDate -</dt>
* <dt>Size</dt><dd>The message size</dd>
* <dt>udate</dt><dd>mail message date in Unix time</dd>
* <dt>fetchfrom</dt><dd>from line formatted to fit fromlength characters</dd>
* <dt>fetchsubject</dt><dd>subject line formatted to fit subjectlength characters</dd>
* </dl>
*/
#[PhpStormStubsElementAvailable('8.0')]
function imap_headerinfo($stream_id, $msg_no, $from_length = 0, $subject_length = 0) {}
function imap_headerinfo($stream_id, $msg_no, $from_length = 0, $subject_length = 0, #[PhpStormStubsElementAvailable(to: '7.4')] $default_host = null): stdClass|false {}
/**
* Parse mail headers from a string

View File

@ -812,7 +812,12 @@ function mb_decode_mimeheader(string $string): string {}
* @return string|false The character encoding before conversion for success,
* or false for failure.
*/
function mb_convert_variables(string $to_encoding, array|string $from_encoding, mixed &$var, mixed &...$vars): string|false {}
function mb_convert_variables(
string $to_encoding,
array|string $from_encoding,
#[PhpStormStubsElementAvailable(from: '8.0')] mixed &$var,
mixed &...$vars
): string|false {}
/**
* Encode character to HTML numeric string reference

View File

@ -2857,3 +2857,8 @@ namespace MongoDB\BSON {
public function __toString();
}
}
namespace {
define('MONGODB_VERSION', '1.9.1');
define('MONGODB_STABILITY', 'stable');
}

View File

@ -3,6 +3,7 @@
// Start of openssl v.
use JetBrains\PhpStorm\Deprecated;
use JetBrains\PhpStorm\Internal\LanguageLevelTypeAware;
use JetBrains\PhpStorm\Internal\PhpStormStubsElementAvailable;
/**
* Frees a private key
@ -850,7 +851,15 @@ function openssl_pbkdf2(string $password, string $salt, int $key_length, int $it
* (the message has been tampered with, or the signing certificate is invalid),
* or -1 on error.
*/
function openssl_pkcs7_verify(string $input_filename, int $flags, ?string $signers_certificates_filename, array $ca_info, ?string $untrusted_certificates_filename, ?string $content, ?string $output_filename): int|bool {}
function openssl_pkcs7_verify(
string $input_filename,
int $flags,
?string $signers_certificates_filename,
array $ca_info,
?string $untrusted_certificates_filename,
?string $content,
#[PhpStormStubsElementAvailable("7.2")] ?string $output_filename
): int|bool {}
/**
* Decrypts an S/MIME encrypted message

View File

@ -1,6 +1,7 @@
<?php
// Start of pcre v.
use JetBrains\PhpStorm\Internal\PhpStormStubsElementAvailable;
use JetBrains\PhpStorm\Pure;
/**
@ -372,7 +373,14 @@ function preg_replace(array|string $pattern, array|string $replacement, array|st
* If matches are found, the new subject will be returned, otherwise
* <i>subject</i> will be returned unchanged.
*/
function preg_replace_callback(array|string $pattern, callable $callback, array|string $subject, int $limit = -1, &$count, int $flags = 0): array|string|null {}
function preg_replace_callback(
array|string $pattern,
callable $callback,
array|string $subject,
int $limit = -1,
&$count,
#[PhpStormStubsElementAvailable(from: '7.4')] int $flags = 0
): array|string|null {}
/**
* Perform a regular expression search and replace using callbacks
@ -385,7 +393,13 @@ function preg_replace_callback(array|string $pattern, callable $callback, array|
* @return string|string[]|null <p>preg_replace_callback_array() returns an array if the subject parameter is an array, or a string otherwise. On errors the return value is NULL</p>
* <p>If matches are found, the new subject will be returned, otherwise subject will be returned unchanged.</p>
*/
function preg_replace_callback_array(array $pattern, array|string $subject, int $limit = -1, &$count, int $flags = 0): array|string|null {}
function preg_replace_callback_array(
array $pattern,
array|string $subject,
int $limit = -1,
&$count,
#[PhpStormStubsElementAvailable(from: '7.4')] int $flags = 0
): array|string|null {}
/**
* Perform a regular expression search and replace

View File

@ -646,7 +646,14 @@ function sodium_crypto_pwhash_str_verify(string $hash, string $password): bool {
* @throws SodiumException
* @since 7.2
*/
function sodium_crypto_pwhash_scryptsalsa208sha256(int $length, string $password, string $salt, int $opslimit, int $memlimit): string {}
function sodium_crypto_pwhash_scryptsalsa208sha256(
int $length,
string $password,
string $salt,
int $opslimit,
int $memlimit,
#[PhpStormStubsElementAvailable(from: '7.2', to: '7.4')] $alg = null
): string {}
/**
* Get a formatted password hash (for storage)
@ -1017,7 +1024,10 @@ function sodium_version_string(): string {}
* @throws SodiumException
* @since 7.2
*/
function sodium_crypto_scalarmult_base(string $secret_key): string {}
function sodium_crypto_scalarmult_base(
string $secret_key,
#[PhpStormStubsElementAvailable(from: '7.2', to: '7.4')] $string_2
): string {}
/**
* Creates a random key

View File

@ -2,6 +2,7 @@
// Start of sqlite3 v.0.7-dev
use JetBrains\PhpStorm\ArrayShape;
use JetBrains\PhpStorm\Internal\PhpStormStubsElementAvailable;
/**
* A class that interfaces SQLite 3 databases.
@ -283,7 +284,13 @@ class SQLite3
* <p>Either <b>SQLITE3_OPEN_READONLY</b> or <b>SQLITE3_OPEN_READWRITE</b> to open the stream for reading only, or for reading and writing, respectively.</p>
* @return resource|false Returns a stream resource, or FALSE on failure.
*/
public function openBlob($table, $column, $rowid, $database = 'main', int $flags = SQLITE3_OPEN_READONLY) {}
public function openBlob(
$table,
$column,
$rowid,
$database = 'main',
#[PhpStormStubsElementAvailable(from: '7.2')] int $flags = SQLITE3_OPEN_READONLY
) {}
/**
* Enable throwing exceptions
@ -438,7 +445,7 @@ class SQLite3Stmt
* @param SQLite3 $sqlite3
* @param string $query
*/
private function __construct($sqlite3, $query) {}
private function __construct($sqlite3, #[PhpStormStubsElementAvailable(from: '8.0')] $query) {}
/**
* Retrieves the SQL of the prepared statement. If expanded is FALSE, the unmodified SQL is retrieved.

View File

@ -3,6 +3,7 @@
use JetBrains\PhpStorm\ArrayShape;
use JetBrains\PhpStorm\Deprecated;
use JetBrains\PhpStorm\Internal\LanguageLevelTypeAware;
use JetBrains\PhpStorm\Internal\PhpStormStubsElementAvailable;
use JetBrains\PhpStorm\Pure;
/**
@ -1092,7 +1093,7 @@ function join(array|string $separator = "", ?array $array): string {}
* on the system that PHP is running. It returns exactly
* what the system setlocale function returns.</p>
*/
function setlocale(int $category, array|string|int $locales, ...$rest): string|false {}
function setlocale(int $category, array|string|int $locales, #[PhpStormStubsElementAvailable(from: '8.0')] ...$rest): string|false {}
/**
* Get numeric formatting information

View File

@ -333,7 +333,7 @@ function strchr(string $haystack, string $needle, bool $before_needle = false):
* format.
*/
#[Pure]
function sprintf(string $format, ...$values): string {}
function sprintf(string $format, mixed ...$values): string {}
/**
* Output a formatted string
@ -346,7 +346,7 @@ function sprintf(string $format, ...$values): string {}
* </p>
* @return int the length of the outputted string.
*/
function printf(string $format, ...$values): int {}
function printf(string $format, mixed ...$values): int {}
/**
* Output a formatted string
@ -389,7 +389,7 @@ function vsprintf(string $format, array $values): string {}
* </p>
* @return int the length of the string written.
*/
function fprintf($stream, string $format, ...$values): int {}
function fprintf($stream, string $format, mixed ...$values): int {}
/**
* Write a formatted string to a stream

View File

@ -2,6 +2,7 @@
use JetBrains\PhpStorm\ArrayShape;
use JetBrains\PhpStorm\Deprecated;
use JetBrains\PhpStorm\Internal\PhpStormStubsElementAvailable;
use JetBrains\PhpStorm\Internal\LanguageLevelTypeAware;
use JetBrains\PhpStorm\Pure;
@ -90,7 +91,7 @@ function call_user_method_array(string $method_name, object &$obj, array $params
* </p>
* @return mixed|false the function result, or false on error.
*/
function forward_static_call(callable $callback, ...$args): mixed {}
function forward_static_call(callable $callback, mixed ...$args): mixed {}
/**
* Call a static method and pass the arguments as array
@ -186,7 +187,7 @@ function unserialize(string $data, array $options = []): mixed {}
* @param mixed ...$values [optional]
* @return void
*/
function var_dump(mixed $value, ...$values): void {}
function var_dump(mixed $value, #[PhpStormStubsElementAvailable(from: '8.0')] mixed ...$values): void {}
/**
* Outputs or returns a parsable string representation of a variable
@ -213,7 +214,7 @@ function var_export(mixed $value, bool $return = false): ?string {}
* </p>
* @return void
*/
function debug_zval_dump(mixed $value, mixed ...$values): void {}
function debug_zval_dump(#[PhpStormStubsElementAvailable(from: '8.0')] mixed $value, mixed ...$values): void {}
/**
* Prints human-readable information about a variable
@ -283,7 +284,7 @@ function memory_get_peak_usage(bool $real_usage = false): int {}
* </p>
* @return bool|null
*/
function register_shutdown_function(callable $callback, ...$args): ?bool {}
function register_shutdown_function(callable $callback, mixed ...$args): ?bool {}
/**
* Register a function for execution on each tick
@ -296,7 +297,7 @@ function register_shutdown_function(callable $callback, ...$args): ?bool {}
* </p>
* @return bool true on success or false on failure.
*/
function register_tick_function(callable $callback, ...$args): bool {}
function register_tick_function(callable $callback, mixed ...$args): bool {}
/**
* De-register a function for execution on each tick

View File

@ -168,7 +168,7 @@ function pfsockopen(string $hostname, int $port = -1, &$error_code, &$error_mess
*/
#[Pure]
#[LanguageLevelTypeAware(["8.0" => "string"], default: "string|false")]
function pack(string $format, ...$values) {}
function pack(string $format, mixed ...$values) {}
/**
* Unpack data from binary string

View File

@ -2,6 +2,7 @@
use JetBrains\PhpStorm\Deprecated;
use JetBrains\PhpStorm\Internal\LanguageLevelTypeAware;
use JetBrains\PhpStorm\Internal\PhpStormStubsElementAvailable;
use JetBrains\PhpStorm\Pure;
/**
@ -730,7 +731,7 @@ function key(object|array $array): string|int|null {}
* parameter values.
*/
#[Pure]
function min(mixed $value, mixed ...$values): mixed {}
function min(#[PhpStormStubsElementAvailable(from: '8.0')] mixed $value, mixed ...$values): mixed {}
/**
* Find highest value
@ -741,7 +742,7 @@ function min(mixed $value, mixed ...$values): mixed {}
* parameter values, either within a arg array or two arguments.
*/
#[Pure]
function max(mixed $value, mixed ...$values): mixed {}
function max(#[PhpStormStubsElementAvailable(from: '8.0')] mixed $value, mixed ...$values): mixed {}
/**
* Checks if a value exists in an array
@ -841,7 +842,7 @@ function extract(array &$array, int $flags, string $prefix): int {}
* @return array the output array with all the variables added to it.
*/
#[Pure]
function compact(mixed $var_name, ...$var_names): array {}
function compact(mixed $var_name, #[PhpStormStubsElementAvailable(from: '8.0')] ...$var_names): array {}
/**
* Fill an array with values
@ -910,7 +911,12 @@ function range($start, $end, int|float $step = 1): array {}
* </p>
* @return bool true on success or false on failure.
*/
function array_multisort(&$array, &...$rest): bool {}
function array_multisort(
&$array,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] $sort_order = SORT_ASC,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] $sort_flags = SORT_REGULAR,
&...$rest
): bool {}
/**
* Push elements onto the end of array
@ -925,7 +931,7 @@ function array_multisort(&$array, &...$rest): bool {}
* </p>
* @return int the number of elements in the array.
*/
function array_push(array &$array, ...$values): int {}
function array_push(array &$array, mixed ...$values): int {}
/**
* Pop the element off the end of array
@ -965,7 +971,7 @@ function array_shift(array &$array): mixed {}
* </p>
* @return int the number of elements in the array.
*/
function array_unshift(array &$array, ...$values): int {}
function array_unshift(array &$array, mixed ...$values): int {}
/**
* Remove a portion of the array and replace it with something else
@ -1056,4 +1062,7 @@ function array_slice(array $array, int $offset, ?int $length, bool $preserve_key
* @meta
*/
#[Pure]
function array_merge(array ...$arrays): array {}
function array_merge(
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.3')] $array,
array ...$arrays
): array {}

View File

@ -22,7 +22,7 @@ define("ARRAY_FILTER_USE_KEY", 2);
* @return array An array of values resulted from merging the arguments together.
*/
#[Pure]
function array_merge_recursive(array ...$arrays): array {}
function array_merge_recursive(#[PhpStormStubsElementAvailable(from: '5.3', to: '7.3')] array $arr1 = null, array ...$arrays): array {}
/**
* array_replace() replaces the values of the first array with the same values from all the following arrays.
@ -265,85 +265,73 @@ function array_unique(array $array, int $flags = SORT_STRING): array {}
* @param array $array <p>
* The array with main values to check.
* </p>
* @param array ...$arrays <p>
* An array to compare values against.
* </p>
* @return array an array containing all of the values in
* array1 whose values exist in all of the parameters.
* @meta
*/
#[Pure]
#[PhpStormStubsElementAvailable('8.0')]
function array_intersect(array $array, array ...$arrays): array {}
/**
* Computes the intersection of arrays
* @link https://php.net/manual/en/function.array-intersect.php
* @param array $array1 <p>
* The array with main values to check.
* </p>
* @param array $array2 <p>
* An array to compare values against.
* </p>
* @param array ...$_ [optional]
* @param array ...$arrays [optional]
* @return array an array containing all of the values in
* array1 whose values exist in all of the parameters.
* @meta
*/
#[Pure]
#[PhpStormStubsElementAvailable(to: '7.4')]
function array_intersect(array $array1, array $array2, array ...$_): array {}
function array_intersect(
array $array,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] array $array2,
#[PhpStormStubsElementAvailable(from: '8.0')] array ...$arrays
): array {}
/**
* Computes the intersection of arrays using keys for comparison
* @link https://php.net/manual/en/function.array-intersect-key.php
* @param array $array1 <p>
* @param array $array <p>
* The array with main keys to check.
* </p>
* @param array $array2 <p>
* An array to compare keys against.
* </p>
* @param array ...$_ [optional]
* @param array ...$arrays [optional]
* @return array an associative array containing all the entries of
* array1 which have keys that are present in all
* arguments.
* @meta
*/
#[Pure]
function array_intersect_key(array $array1, array $array2, array ...$_): array {}
function array_intersect_key(array $array, array ...$arrays): array {}
/**
* Computes the intersection of arrays using a callback function on the keys for comparison
* @link https://php.net/manual/en/function.array-intersect-ukey.php
* @param array $array1 <p>
* @param array $array <p>
* Initial array for comparison of the arrays.
* </p>
* @param array $array2 <p>
* First array to compare keys against.
* </p>
* @param array ...$_ [optional]
* @param callable $key_compare_func <p>
* User supplied callback function to do the comparison.
* </p>
* @param ...$rest [optional]
* @return array the values of array1 whose keys exist
* in all the arguments.
* @meta
*/
function array_intersect_ukey(array $array1, array $array2, array $_ = null, callable $key_compare_func): array {}
function array_intersect_ukey(
array $array,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] array $array2,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] callable $key_compare_func,
#[PhpStormStubsElementAvailable(from: '8.0')] ...$rest
): array {}
/**
* Computes the intersection of arrays, compares data by a callback function
* @link https://php.net/manual/en/function.array-uintersect.php
* @param array $array1 <p>
* @param array $array <p>
* The first array.
* </p>
* @param array $array2 <p>
* The second array.
* </p>
* @param array ...$_ [optional]
* @param callable $data_compare_func <p>
* The callback comparison function.
* </p>
* * @param array ...$rest [optional]
* <p>
* The user supplied callback function is used for comparison.
* It must return an integer less than, equal to, or greater than zero if
@ -354,35 +342,39 @@ function array_intersect_ukey(array $array1, array $array2, array $_ = null, cal
* that are present in all the arguments.
* @meta
*/
function array_uintersect(array $array1, array $array2, array $_ = null, callable $data_compare_func): array {}
function array_uintersect(
array $array,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] array $array2,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] callable $data_compare_func,
#[PhpStormStubsElementAvailable(from: '8.0')] array ...$rest,
): array {}
/**
* Computes the intersection of arrays with additional index check
* @link https://php.net/manual/en/function.array-intersect-assoc.php
* @param array $array1 <p>
* @param array $array <p>
* The array with main values to check.
* </p>
* @param array $array2 <p>
* An array to compare values against.
* </p>
* @param array $_ [optional]
* @param array $arrays [optional]
* @return array an associative array containing all the values in
* array1 that are present in all of the arguments.
* @meta
*/
#[Pure]
function array_intersect_assoc(array $array1, array $array2, array $_ = null): array {}
function array_intersect_assoc(
array $array,
array ...$arrays
): array {}
/**
* Computes the intersection of arrays with additional index check, compares data by a callback function
* @link https://php.net/manual/en/function.array-uintersect-assoc.php
* @param array $array1 <p>
* @param array $array <p>
* The first array.
* </p>
* @param array $array2 <p>
* The second array.
* </p>
* @param array ...$_ [optional]
* @param callable $data_compare_func <p>
* For comparison is used the user supplied callback function.
* It must return an integer less than, equal
@ -390,41 +382,51 @@ function array_intersect_assoc(array $array1, array $array2, array $_ = null): a
* be respectively less than, equal to, or greater than the
* second.
* </p>
* @param array ...$rest [optional]
* @return array an array containing all the values of
* array1 that are present in all the arguments.
* @meta
*/
function array_uintersect_assoc(array $array1, array $array2, array $_ = null, callable $data_compare_func): array {}
function array_uintersect_assoc(
array $array,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] array $array2,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] callable $data_compare_func,
#[PhpStormStubsElementAvailable(from: '8.0')] ...$rest,
): array {}
/**
* Computes the intersection of arrays with additional index check, compares indexes by a callback function
* @link https://php.net/manual/en/function.array-intersect-uassoc.php
* @param array $array1 <p>
* @param array $array <p>
* Initial array for comparison of the arrays.
* </p>
* @param array $array2 <p>
* First array to compare keys against.
* </p>
* @param array ...$_ [optional]
* @param callable $key_compare_func <p>
* User supplied callback function to do the comparison.
* </p>
* @param array ...$rest [optional]
* @return array the values of array1 whose values exist
* in all of the arguments.
* @meta
*/
function array_intersect_uassoc(array $array1, array $array2, array $_ = null, callable $key_compare_func): array {}
function array_intersect_uassoc(
array $array,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] array $array2,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] callable $key_compare_func,
#[PhpStormStubsElementAvailable(from: '8.0')] ...$rest,
): array {}
/**
* Computes the intersection of arrays with additional index check, compares data and indexes by separate callback functions
* @link https://php.net/manual/en/function.array-uintersect-uassoc.php
* @param array $array1 <p>
* @param array $array <p>
* The first array.
* </p>
* @param array $array2 <p>
* The second array.
* </p>
* @param array ...$_ [optional]
* @param callable $data_compare_func <p>
* For comparison is used the user supplied callback function.
* It must return an integer less than, equal
@ -435,12 +437,19 @@ function array_intersect_uassoc(array $array1, array $array2, array $_ = null, c
* @param callable $key_compare_func <p>
* Key comparison callback function.
* </p>
* @param array ...$rest [optional]
* @return array an array containing all the values of
* array1 that are present in all the arguments.
* @meta
*/
#[Pure]
function array_uintersect_uassoc(array $array1, array $array2, array $_ = null, callable $data_compare_func, callable $key_compare_func): array {}
function array_uintersect_uassoc(
array $array,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] array $array2,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] callable $data_compare_func,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] callable $key_compare_func,
#[PhpStormStubsElementAvailable(from: '8.0')] ...$rest,
): array {}
/**
* Computes the difference of arrays
@ -448,85 +457,74 @@ function array_uintersect_uassoc(array $array1, array $array2, array $_ = null,
* @param array $array <p>
* The array to compare from
* </p>
* @param array ...$excludes <p>
* An array to compare against
* </p>
* @return array an array containing all the entries from
* array1 that are not present in any of the other arrays.
* @meta
*/
#[Pure]
#[PhpStormStubsElementAvailable('8.0')]
function array_diff(array $array, array ...$excludes): array {}
/**
* Computes the difference of arrays
* @link https://php.net/manual/en/function.array-diff.php
* @param array $array1 <p>
* The array to compare from
* </p>
* @param array $array2 <p>
* An array to compare against
* </p>
* @param array ...$_ [optional]
* @param array ...$arrays [optional]
* @return array an array containing all the entries from
* array1 that are not present in any of the other arrays.
* @meta
*/
#[Pure]
#[PhpStormStubsElementAvailable(to: '7.4')]
function array_diff(array $array1, array $array2, array ...$_): array {}
function array_diff(
array $array,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] array $array2,
#[PhpStormStubsElementAvailable(from: '8.0')] array ...$arrays
): array {}
/**
* Computes the difference of arrays using keys for comparison
* @link https://php.net/manual/en/function.array-diff-key.php
* @param array $array1 <p>
* @param array $array <p>
* The array to compare from
* </p>
* @param array $array2 <p>
* @param array $arrays <p>
* An array to compare against
* </p>
* @param array ...$_ [optional]
* @return array an array containing all the entries from
* array1 whose keys are not present in any of the
* other arrays.
* @meta
*/
#[Pure]
function array_diff_key(array $array1, array $array2, array ...$_): array {}
function array_diff_key(array $array, array ...$arrays): array {}
/**
* Computes the difference of arrays using a callback function on the keys for comparison
* @link https://php.net/manual/en/function.array-diff-ukey.php
* @param array $array1 <p>
* @param array $array <p>
* The array to compare from
* </p>
* @param array $array2 <p>
* An array to compare against
* </p>
* @param array ...$_ [optional]
* @param callable $key_compare_func <p>
* callback function to use.
* The callback function must return an integer less than, equal
* to, or greater than zero if the first argument is considered to
* be respectively less than, equal to, or greater than the second.
* </p>
* @param array ...$rest [optional]
* @return array an array containing all the entries from
* array1 that are not present in any of the other arrays.
* @meta
*/
function array_diff_ukey(array $array1, array $array2, array $_ = null, callable $key_compare_func): array {}
function array_diff_ukey(
array $array,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] array $array2,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] callable $key_compare_func,
#[PhpStormStubsElementAvailable(from: '8.0')] ...$rest,
): array {}
/**
* Computes the difference of arrays by using a callback function for data comparison
* @link https://php.net/manual/en/function.array-udiff.php
* @param array $array1 <p>
* @param array $array <p>
* The first array.
* </p>
* @param array $array2 <p>
* The second array.
* </p>
* @param array ...$_ [optional]
* @param callable $data_compare_func <p>
* The callback comparison function.
* </p>
@ -536,39 +534,43 @@ function array_diff_ukey(array $array1, array $array2, array $_ = null, callable
* the first argument is considered to be respectively less than, equal
* to, or greater than the second.
* </p>
* @param array ...$rest [optional]
* @return array an array containing all the values of array1
* that are not present in any of the other arguments.
* @meta
*/
function array_udiff(array $array1, array $array2, array $_ = null, callable $data_compare_func): array {}
function array_udiff(
array $array,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] array $array2,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] callable $data_compare_func,
#[PhpStormStubsElementAvailable(from: '8.0')] ...$rest,
): array {}
/**
* Computes the difference of arrays with additional index check
* @link https://php.net/manual/en/function.array-diff-assoc.php
* @param array $array1 <p>
* @param array $array <p>
* The array to compare from
* </p>
* @param array $array2 <p>
* @param array $arrays <p>
* An array to compare against
* </p>
* @param array ...$_ [optional]
* @return array an array containing all the values from
* array1 that are not present in any of the other arrays.
* @meta
*/
#[Pure]
function array_diff_assoc(array $array1, array $array2, array ...$_): array {}
function array_diff_assoc(array $array, array ...$arrays): array {}
/**
* Computes the difference of arrays with additional index check, compares data by a callback function
* @link https://php.net/manual/en/function.array-udiff-assoc.php
* @param array $array1 <p>
* @param array $array <p>
* The first array.
* </p>
* @param array $array2 <p>
* The second array.
* </p>
* @param array ...$_ [optional]
* @param callable $data_compare_func <p>
* The callback comparison function.
* </p>
@ -578,6 +580,7 @@ function array_diff_assoc(array $array1, array $array2, array ...$_): array {}
* the first argument is considered to be respectively less than, equal
* to, or greater than the second.
* </p>
* @param array ...$rest [optional]
* @return array array_udiff_assoc returns an array
* containing all the values from array1
* that are not present in any of the other arguments.
@ -589,40 +592,49 @@ function array_diff_assoc(array $array1, array $array2, array ...$_): array {}
* comparison.
* @meta
*/
function array_udiff_assoc(array $array1, array $array2, array $_ = null, callable $data_compare_func): array {}
function array_udiff_assoc(
array $array,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] array $array2,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] callable $data_compare_func,
#[PhpStormStubsElementAvailable(from: '8.0')] ...$rest,
): array {}
/**
* Computes the difference of arrays with additional index check which is performed by a user supplied callback function
* @link https://php.net/manual/en/function.array-diff-uassoc.php
* @param array $array1 <p>
* @param array $array <p>
* The array to compare from
* </p>
* @param array $array2 <p>
* An array to compare against
* </p>
* @param array ...$_ [optional]
* @param callable $key_compare_func <p>
* callback function to use.
* The callback function must return an integer less than, equal
* to, or greater than zero if the first argument is considered to
* be respectively less than, equal to, or greater than the second.
* </p>
* @param array ...$rest [optional]
* @return array an array containing all the entries from
* array1 that are not present in any of the other arrays.
* @meta
*/
function array_diff_uassoc(array $array1, array $array2, array $_ = null, callable $key_compare_func): array {}
function array_diff_uassoc(
array $array,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] array $array2,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] callable $key_compare_func,
#[PhpStormStubsElementAvailable(from: '8.0')] ...$rest,
): array {}
/**
* Computes the difference of arrays with additional index check, compares data and indexes by a callback function
* @link https://php.net/manual/en/function.array-udiff-uassoc.php
* @param array $array1 <p>
* @param array $array <p>
* The first array.
* </p>
* @param array $array2 <p>
* The second array.
* </p>
* @param array ...$_ [optional]
* @param callable $data_compare_func <p>
* The callback comparison function.
* </p>
@ -645,12 +657,19 @@ function array_diff_uassoc(array $array1, array $array2, array $_ = null, callab
* array_udiff_assoc does, since the latter compares
* the indices by using an internal function.
* </p>
* @param array ...$rest [optional]
* @return array an array containing all the values from
* array1 that are not present in any of the other
* arguments.
* @meta
*/
function array_udiff_uassoc(array $array1, array $array2, array $_ = null, callable $data_compare_func, callable $key_compare_func): array {}
function array_udiff_uassoc(
array $array,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] array $array2,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] callable $data_compare_func,
#[PhpStormStubsElementAvailable(from: '5.3', to: '7.4')] callable $key_compare_func,
#[PhpStormStubsElementAvailable(from: '8.0')] ...$rest
): array {}
/**
* Calculate the sum of values in an array
@ -724,7 +743,7 @@ function array_filter(array $array, ?callable $callback, int $mode = 0): array {
* after applying the callback function to each one.
* @meta
*/
function array_map(?callable $callback, array $array, array ...$arrays): array {}
function array_map(?callable $callback, #[PhpStormStubsElementAvailable(from: '8.0')] array $array, array ...$arrays): array {}
/**
* Split an array into chunks

View File

@ -3,6 +3,7 @@
// Start of xmlwriter v.0.1
use JetBrains\PhpStorm\Internal\LanguageLevelTypeAware;
use JetBrains\PhpStorm\Internal\PhpStormStubsElementAvailable;
class XMLWriter
{
@ -1165,13 +1166,21 @@ function xmlwriter_end_dtd_entity(#[LanguageLevelTypeAware(["8.0" => "XMLWriter"
* @param string $content <p>
* The content of the entity.
* </p>
* @param bool $pe
* @param string $pubid
* @param string $sysid
* @param string $ndataid
* @param bool $isParam
* @param string $publicId
* @param string $systemId
* @param string $notationData
* @return bool <b>TRUE</b> on success or <b>FALSE</b> on failure.
*/
function xmlwriter_write_dtd_entity(#[LanguageLevelTypeAware(["8.0" => "XMLWriter"], default: "resource")] $writer, $name, $content, $pe, $pubid, $sysid, $ndataid): bool {}
function xmlwriter_write_dtd_entity(
#[LanguageLevelTypeAware(["8.0" => "XMLWriter"], default: "resource")] $writer,
string $name,
string $content,
#[PhpStormStubsElementAvailable(from: '8.0')] bool $isParam = false,
#[PhpStormStubsElementAvailable(from: '8.0')] ?string $publicId = null,
#[PhpStormStubsElementAvailable(from: '8.0')] ?string $systemId = null,
#[PhpStormStubsElementAvailable(from: '8.0')] ?string $notationData = null
): bool {}
/**
* (PHP 5 &gt;= 5.1.2, PECL xmlwriter &gt;= 0.1.0)<br/>

View File

@ -86,7 +86,7 @@ function gzgets($stream, ?int $length = 1024): string|false {}
* The gz-file pointer. It must be valid, and must point to a file
* successfully opened by <b>gzopen</b>.
* </p>
* @param int $length <p>
* @param int $length [optional] <p>
* The length of data to get.
* </p>
* @param string $allowable_tags [optional] <p>