Go to file
Jaroslav Hanslík a03669d2ea Added missing IMAP functions 2020-06-01 13:36:11 +03:00
.idea Fix parsing of constants with negative value, add missing constants, fix constant values 2019-09-18 13:59:28 +02:00
Core Fixed extensions for many standard and Core constants 2020-05-28 14:47:57 +03:00
Ev Add new extensions + fixes for them 2019-09-18 16:39:59 +02:00
FFI fix wrong @return at \FFI::cdef() 2020-04-29 07:32:28 +09:00
PDO Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
Parle Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
Phar return type for Phar::compress and Phar::decompress should be static 2020-02-28 16:22:00 +03:00
Reflection Fix ReflectionClass::getConstructor return type 2020-05-28 13:22:09 +03:00
SPL Add type for SplTempFileObject::__construct $max_memory 2020-05-30 21:00:26 +10:00
SQLite Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
SaxonC Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
SimpleXML PHP tags cleanup 2020-03-19 14:48:38 +01:00
SplType Use https for @link annotations (#367) 2018-08-13 14:15:36 +03:00
Zend OPcache Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
ZendCache Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
ZendDebugger WI-33237 split embedded stubs into modules 2017-03-07 14:52:15 +01:00
ZendUtils WI-33237 split embedded stubs into modules 2017-03-07 14:52:15 +01:00
amqp One more missing method in AMQP 2020-04-07 10:44:32 +02:00
apache Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
apcu Added missing APCu functions 2020-06-01 13:36:11 +03:00
bcmath Remove "since 7" leftovers 2020-02-11 15:49:00 +01:00
blackfire Add stubs for BlackfireProbe (#764) 2020-03-30 17:36:48 +03:00
bz2 Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
calendar Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
cassandra Fix typos 2020-04-26 17:12:34 +02:00
com_dotnet com_dotnet fix optional parameters 2020-01-05 12:03:17 +01:00
couchbase Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
crypto Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
ctype Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
cubrid Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
curl Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
date More precise type for DateInterval::$days 2020-05-25 14:17:50 +03:00
dba Fix typos 2020-04-26 17:12:34 +02:00
decimal Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
dom Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
ds PHP Data Structures (#791) 2020-05-19 18:30:08 +03:00
enchant Fix some type according to review 2019-07-04 21:01:30 +03:00
event Fix typos 2020-04-26 17:12:34 +02:00
exif Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
expect Add stubs for ext-expect (#761) 2020-03-31 08:37:48 +03:00
fann Add test on unsupported tags 2020-03-19 19:37:47 +01:00
ffmpeg Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
fileinfo Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
filter Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
fpm Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
ftp add false types on ftp as documented 2020-01-28 22:25:11 +01:00
gd Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
gearman Fix typos 2020-04-26 17:12:34 +02:00
geoip Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
geos Fix geos stubs 2019-08-26 14:55:04 +02:00
gettext Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
gmagick Fix typos 2020-04-26 17:12:34 +02:00
gmp Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
gnupg Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
grpc Grpc\ChannelCredentials::createSsl() has all optional parameters. 2019-07-26 12:38:45 -04:00
hash Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
http Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
ibm_db2 Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
iconv Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
igbinary Remove duplicate url scheme inside phpDoc blocks 2018-11-28 17:34:30 +01:00
imagick PHP tags cleanup 2020-03-19 14:48:38 +01:00
imap Added missing IMAP functions 2020-06-01 13:36:11 +03:00
inotify PHP tags cleanup 2020-03-19 14:48:38 +01:00
interbase Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
intl Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
json Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
judy Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
ldap Fix typos 2020-04-26 17:12:34 +02:00
leveldb renamed folder for leveldb extension to a proper case 2019-05-24 17:53:26 +03:00
libevent Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
libsodium Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
libxml Specify array value type in libxml_get_errors (#752) 2020-03-19 16:32:21 +03:00
lua Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
lzf Added pecl LZF 2019-12-22 18:12:48 +03:00
mailparse Add hand-picked changes from pr553 2019-06-26 15:26:31 +03:00
mapscript Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
mbstring Added optional parameters to new mbstring functions 2020-05-13 21:28:35 +03:00
mcrypt Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
memcache Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
memcached Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
meminfo Add ext-meminfo stub 2019-05-15 19:23:38 +02:00
meta WI-52733 array_rand returns only array keys 2020-05-06 12:39:59 +03:00
ming Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
mongo Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
mongodb Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
mosquitto-php Fix typos 2020-04-26 17:12:34 +02:00
mqseries Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
msgpack Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
mssql Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
mysql Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
mysql_xdevapi Fix typos 2020-04-26 17:12:34 +02:00
mysqli Fix $mysqli->connect_errno return type 2020-05-28 13:19:01 +03:00
ncurses Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
newrelic Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
oauth PHP tags cleanup 2020-03-19 14:48:38 +01:00
oci8 Fix typos 2020-04-26 17:12:34 +02:00
odbc Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
openssl Fixed extensions for many standard and Core constants 2020-05-28 14:47:57 +03:00
parallel Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
pcntl PHP tags cleanup 2020-03-19 14:48:38 +01:00
pcov Apply cs fixes 2020-05-28 18:12:43 +03:00
pcre Fixed preg_replace_callback_array() definition 2020-05-28 13:12:10 +03:00
pdflib Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
pdo_ibm WI-33237 split embedded stubs into modules 2017-03-07 14:52:15 +01:00
pdo_mysql WI-33237 split embedded stubs into modules 2017-03-07 14:52:15 +01:00
pdo_pgsql WI-33237 split embedded stubs into modules 2017-03-07 14:52:15 +01:00
pdo_sqlite WI-33237 split embedded stubs into modules 2017-03-07 14:52:15 +01:00
pgsql Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
phpdbg Add stubs for sapi/phpdbg functions 2020-05-13 21:20:22 +03:00
posix Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
pq Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
pspell Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
pthreads Fix typos 2020-04-26 17:12:34 +02:00
radius Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
rar Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
rdkafka Apply cs fixes 2020-05-28 18:12:43 +03:00
readline Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
recode Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
redis Update Redis constants 2020-05-25 14:00:12 +03:00
regex Add missing @removed tags for ereg and sybace 2020-01-22 18:34:16 +01:00
rpminfo changed to the correct return values 2020-04-23 11:10:38 +02:00
rrd Fix typos 2020-04-26 17:12:34 +02:00
session Remove "since 7" leftovers 2020-02-11 15:49:00 +01:00
shmop Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
snmp Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
soap Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
sockets Added missing sockets functions and constants 2020-06-01 13:36:11 +03:00
sodium Add missing link, throws, and since annotations to the Sodium extension (#759) 2020-03-31 21:07:14 +03:00
solr Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
sqlite3 Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
sqlsrv Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
ssh2 Properly type ssh2_auth_none() return value 2020-01-20 18:33:47 +01:00
standard Apply cs fixes 2020-05-28 18:12:43 +03:00
stats Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
stomp Add stubs for pecl-stomp php extension 2019-04-26 18:08:43 +01:00
suhosin Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
superglobals Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
svn Add hand-picked changes from pr553 2019-06-26 15:26:31 +03:00
sybase Add missing @removed tags for ereg and sybace 2020-01-22 18:34:16 +01:00
sync Fix typos 2020-04-26 17:12:34 +02:00
sysvmsg Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
sysvsem Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
sysvshm Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
tests Apply cs fixes 2020-05-28 18:12:43 +03:00
tidy Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
tokenizer Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
uopz @link and @see tags should use https 2018-10-16 11:28:37 +02:00
uuid Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
uv Fix typos 2020-04-26 17:12:34 +02:00
v8js Rename V8Js.php to v8js.php 2017-03-09 17:57:33 +02:00
wddx Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
win32service Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
winbinder Fix typos 2020-04-26 17:12:34 +02:00
wincache Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
xcache Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
xdebug Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
xhprof PHP tags cleanup 2020-03-19 14:48:38 +01:00
xml Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
xmlreader Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
xmlrpc Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
xmlwriter Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
xsl Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
xxtea Stubs for PECL XXTEA 2019-11-06 15:01:57 +03:00
yaf Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
yaml PHP tags cleanup 2020-03-19 14:48:38 +01:00
yar Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
zend Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
zip Remove whitespaces from stubs. 2020-05-13 21:13:07 +03:00
zlib PHP tags cleanup 2020-03-19 14:48:38 +01:00
zmq @link and @see tags should use https 2018-10-16 11:28:37 +02:00
zookeeper Add stub for zookeeper extension 2019-07-18 21:36:08 +02:00
.gitignore Add php-cs-fixer 2020-05-28 18:12:43 +03:00
.php_cs Add php-cs-fixer 2020-05-28 18:12:43 +03:00
.travis.yml Add php-cs-fixer 2020-05-28 18:12:43 +03:00
CONTRIBUTING.md Add php-cs-fixer 2020-05-28 18:12:43 +03:00
Dockerfile PHP 7.4 stubs initial support + switch to PHP 7.4 docker image 2019-12-05 17:54:10 +01:00
PhpStormStubsMap.php Added missing IMAP functions 2020-06-01 13:36:11 +03:00
README.md PHP Data Structures (#791) 2020-05-19 18:30:08 +03:00
composer.json Apply cs fixes 2020-05-28 18:12:43 +03:00
docker-compose.yml add tests on ldap extension 2019-08-26 16:53:45 +02:00
generate-stub-map Don't parse the content of vendor 2019-06-25 18:50:58 +02:00

README.md

phpstorm-stubs

official JetBrains project Build Status License Total Downloads

STUBS are normal, syntactically correct PHP files that contain function & class signatures, constant definitions, etc. for all built-in PHP stuff and most standard extensions. Stubs need to include complete PHPDOC, especially proper @return annotations.

An IDE needs them for completion, code inspection, type inference, doc popups, etc. Quality of most of these services depend on the quality of the stubs (basically their PHPDOC @annotations).

Note that the stubs for “non-standard” extensions are provided as is. (Non-Standard extensions are the ones that are not part of PHP Core or are not Bundled/External - see the complete list here.)

The support for such “non-standard” stubs is community-driven, and we only validate their PHPDoc. We do not check whether a stub matches the actual extension or whether the provided descriptions are correct.

Relevant open issues

Contribution process

Contribution process

Updating the IDE

Have a full copy of the .git repo within an IDE and provide its path in Settings | Languages & Frameworks | PHP | PHP Runtime | Advanced settings | Default stubs path. It should then be easily updatable both ways via normal git methods.

Extensions enabled by default

The set of extensions enabled by default in PhpStorm can change anytime without prior notice. To learn how to view the enabled extensions, look here.

How to run tests

  1. Execute composer install
  2. Execute docker-compose -f docker-compose.yml run php /opt/project/phpstorm-stubs/vendor/bin/phpunit /opt/project/phpstorm-stubs/tests/

How to update stub map

Execute php generate-stub-map and commit the resulting PhpStormStubsMap.php

License

Apache 2

contains material by the PHP Documentation Group, licensed with CC-BY 3.0