Go to file
Maxim.Kolmakov c0e8920871 We don't allow referencing in stub tests 2020-03-19 14:58:55 +01:00
.idea Fix parsing of constants with negative value, add missing constants, fix constant values 2019-09-18 13:59:28 +02:00
Core PHP tags cleanup 2020-03-19 14:48:38 +01:00
Ev Add new extensions + fixes for them 2019-09-18 16:39:59 +02:00
FFI Actualize FFI interface using latest API info (#623) 2019-06-28 12:27:36 +03:00
PDO Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
Parle Update RParser.php 2019-04-09 02:52:53 +01:00
Phar return type for Phar::compress and Phar::decompress should be static 2020-02-28 16:22:00 +03:00
Reflection Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
SPL Remove unnecessary since tag 2020-02-20 15:31:55 +01:00
SQLite Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
SaxonC Convert links to HTTPS 2018-10-20 20:17:18 +02: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 Provide some missing @since tags 2020-01-17 17:44:06 +01:00
ZendCache Add hand-picked changes from pr553 2019-06-26 15:26:31 +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 update amqp stubs 2019-12-26 16:18:35 +08:00
apache Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
apcu add ttl to apcu_inc() / apcu_dec() 2020-01-27 19:13:10 +13:00
bcmath Remove "since 7" leftovers 2020-02-11 15:49:00 +01: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 PHP tags cleanup 2020-03-19 14:48:38 +01:00
com_dotnet com_dotnet fix optional parameters 2020-01-05 12:03:17 +01:00
couchbase PHP tags cleanup 2020-03-19 14:48:38 +01:00
crypto Fix default value for parameter to be compatible with PHP 2019-06-14 15:20:01 +02:00
ctype Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
cubrid @link and @see tags should use https 2018-10-16 11:28:37 +02:00
curl update stubs map 2020-02-28 18:30:42 +03:00
date WI-51054 Inspections: DateTime::setTime incorrectly specified as available since 7.1 2020-02-04 13:07:43 +02:00
dba Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
decimal We don't allow referencing in stub tests 2020-03-19 14:58:55 +01:00
dom Add false return type to saveXML 2020-01-27 14:29:42 +01:00
enchant Fix some type according to review 2019-07-04 21:01:30 +03:00
event Change all other links available in HTTPS 2018-10-16 12:12:15 +02:00
exif Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
fann PHP tags cleanup 2020-03-19 14:48:38 +01:00
ffmpeg Add hand-picked changes from pr553 2019-06-26 15:26:31 +03:00
fileinfo Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
filter Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
fpm update since versions in core to make it major 2019-10-31 12:29:32 +03:00
ftp add false types on ftp as documented 2020-01-28 22:25:11 +01:00
gd Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
gearman Add hand-picked changes from pr553 2019-06-26 15:26:31 +03:00
geoip Fix some type according to review 2019-07-04 21:01:30 +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 Add hand-picked changes from pr553 2019-06-26 15:26:31 +03:00
gmp Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
gnupg PHP tags cleanup 2020-03-19 14:48:38 +01: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 PHP tags cleanup 2020-03-19 14:48:38 +01:00
ibm_db2 Add hand-picked changes from pr553 2019-06-26 15:26:31 +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 Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
inotify PHP tags cleanup 2020-03-19 14:48:38 +01:00
interbase Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
intl Add 7.0 removals 2020-01-22 18:12:36 +01:00
json Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
judy Use https for @link annotations (#367) 2018-08-13 14:15:36 +03:00
ldap Remove "since 7" leftovers 2020-02-11 15:49:00 +01:00
leveldb renamed folder for leveldb extension to a proper case 2019-05-24 17:53:26 +03:00
libevent Add hand-picked changes from pr553 2019-06-26 15:26:31 +03:00
libsodium Make PHPDocs PHPDoc parser compatible 2018-04-19 14:22:18 +02:00
libxml Specify array value type in libxml_get_errors (#752) 2020-03-19 16:32:21 +03:00
lua Fix stub for assign method 2019-01-10 02:16:44 +01: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 Add hand-picked changes from pr553 2019-06-26 15:26:31 +03:00
mbstring Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
mcrypt Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
memcache Add hand-picked changes from pr553 2019-06-26 15:26:31 +03:00
memcached Add hand-picked changes from pr553 2019-06-26 15:26:31 +03:00
meminfo Add ext-meminfo stub 2019-05-15 19:23:38 +02:00
meta Add meta for array_filter 2020-01-20 20:22:24 +03:00
ming Use https for @link annotations (#367) 2018-08-13 14:15:36 +03:00
mongo PHP tags cleanup 2020-03-19 14:48:38 +01:00
mongodb PHP tags cleanup 2020-03-19 14:48:38 +01:00
mqseries PHP tags cleanup 2020-03-19 14:48:38 +01:00
msgpack Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
mssql Add 7.0 removals 2020-01-22 18:12:36 +01:00
mysql Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
mysql_xdevapi mysql_xdevapi_8_0_11 2019-08-22 22:11:21 +02:00
mysqli Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
ncurses Use https for @link annotations (#367) 2018-08-13 14:15:36 +03:00
newrelic Add hand-picked changes from pr553 2019-06-26 15:26:31 +03:00
oauth PHP tags cleanup 2020-03-19 14:48:38 +01:00
oci8 update since versions in core to make it major 2019-10-31 12:29:32 +03:00
odbc Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
openssl Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
parallel update stubs for ext-parallel 2019-08-13 18:48:34 +03:00
pcntl PHP tags cleanup 2020-03-19 14:48:38 +01:00
pcov Fixed docblock spacing, added correct version numbers 2019-10-16 11:40:00 +03:00
pcre Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
pdflib @link and @see tags should use https 2018-10-16 11:28:37 +02: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 Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
posix Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
pq Add stub for pecl/pq 2020-01-20 11:10:38 +01:00
pspell Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
pthreads Add pthreads stubs for addRef/delRef/getRefCount functions for Threaded class 2018-11-01 05:42:49 -05:00
radius Revert "add test for redundant .0 in since version. fix related constants" 2019-10-04 14:59:17 +03:00
rar Add hand-picked changes from pr553 2019-06-26 15:26:31 +03:00
rdkafka Add missing const for rdkafka 2020-01-10 10:48:29 +01:00
readline Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
recode Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
redis update ping doc 2019-12-25 18:16:55 +08:00
regex Add missing @removed tags for ereg and sybace 2020-01-22 18:34:16 +01:00
rrd Fix stubs according to new tests 2019-09-18 16:17:37 +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 Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
sockets Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
sodium update since versions in core to make it major 2019-10-31 12:29:32 +03:00
solr Fix/update SolrQuery return types 2019-10-14 21:06:05 +02:00
sqlite3 Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
sqlsrv Add some sqlsrv constants 2020-02-19 19:38:23 +01:00
ssh2 Properly type ssh2_auth_none() return value 2020-01-20 18:33:47 +01:00
standard PHP tags cleanup 2020-03-19 14:48:38 +01:00
stats Added stubs for PECL "stats" package. 2020-01-24 22:39:46 -08:00
stomp Add stubs for pecl-stomp php extension 2019-04-26 18:08:43 +01:00
suhosin Add hand-picked changes from pr553 2019-06-26 15:26:31 +03:00
superglobals Don't use bugfix number in deprecation tag 2019-10-02 15:14:57 +02: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 Use https for @link annotations (#367) 2018-08-13 14:15:36 +03: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 remove redundant phpdocs. small refactoring 2020-01-23 15:20:24 +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 Add stub for uuid PECL extension 2020-01-29 11:09:55 -08:00
uv Fix UV stubs to be compatible with PHP 7 2019-06-14 14:57:59 +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 Add hand-picked changes from pr553 2019-06-26 15:26:31 +03:00
winbinder PHP tags cleanup 2020-03-19 14:48:38 +01:00
wincache Add hand-picked changes from pr553 2019-06-26 15:26:31 +03:00
xcache WI-33237 split embedded stubs into modules 2017-03-07 14:52:15 +01:00
xdebug Update xdebug_stop_code_coverage parameter (#617) 2019-06-17 20:29:18 +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 Use https for @link annotations (#367) 2018-08-13 14:15:36 +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 Update yaf_namespace.php 2019-12-13 17:51:59 +08:00
yaml PHP tags cleanup 2020-03-19 14:48:38 +01:00
yar Fix parsing of constants with negative value, add missing constants, fix constant values 2019-09-18 13:59:28 +02:00
zend PHP tags cleanup 2020-03-19 14:48:38 +01:00
zip update since versions in core to make it major 2019-10-31 12:29:32 +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 remove quality tools and redundant mapping 2018-12-11 17:35:31 +03:00
.travis.yml update PHP version in travis build 2019-12-09 17:24:58 +03:00
CONTRIBUTING.md Update requirements for PR requests 2018-04-24 17:46:00 +02: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 update stubs map 2020-02-28 18:30:42 +03:00
README.md Update description how to work with custom stubs from IDE 2019-09-11 14:48:49 +02:00
composer.json add test for internal @meta tag. php7.4 migration 2020-01-19 21:23:34 +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