Go to file
Ryan Yoosefi 2d5d47c51a Added stubs for PECL "stats" package. 2020-01-24 22:39:46 -08:00
.idea Fix parsing of constants with negative value, add missing constants, fix constant values 2019-09-18 13:59:28 +02:00
Core Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +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 Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
Reflection Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
SPL Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +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 Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +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 Merge pull request #625 from pestretsov/hand_picked_changes_from_pr_553 2019-07-04 21:16:35 +03:00
bcmath Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +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 Add Root namespace for Cassandra class 2019-08-26 15:43:17 +03:00
com_dotnet com_dotnet fix optional parameters 2020-01-05 12:03:17 +01:00
couchbase Add hand-picked changes from pr553 2019-06-26 15:26:31 +03: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 Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
date Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
dba Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
dom Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +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 Fix parsing of constants with negative value, add missing constants, fix constant values 2019-09-18 13:59:28 +02: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 Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +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 Fix parsing of constants with negative value, add missing constants, fix constant values 2019-09-18 13:59:28 +02: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 Fix some type according to review 2019-07-04 21:01:30 +03: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 Add hand-picked changes from pr553 2019-06-26 15:26:31 +03:00
imap Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01:00
inotify Add hand-picked changes from pr553 2019-06-26 15:26:31 +03: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 Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +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 Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +01: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 Fix some type according to review 2019-07-04 21:01:30 +03:00
mongodb Removed UTCDateTime.getTimestamp and UTCDateTime.getIncrement 2019-11-11 22:55:44 +03:00
mqseries moved fann, judy, mqseries to separate directories 2017-07-17 21:50:35 +03: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 Add hand-picked changes from pr553 2019-06-26 15:26:31 +03: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 Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +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
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 Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +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 sqlsrv_get_field optional parameter 2019-12-29 21:26:10 +01:00
ssh2 Properly type ssh2_auth_none() return value 2020-01-20 18:33:47 +01:00
standard Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +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 add lzf to pecl map 2019-12-23 18:03:40 +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
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 added winbinder stub, generated stubmap 2019-10-10 15:27:21 +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 @link and @see tags should use https 2018-10-16 11:28:37 +02: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 Fix parsing of constants with negative value, add missing constants, fix constant values 2019-09-18 13:59:28 +02:00
yar Fix parsing of constants with negative value, add missing constants, fix constant values 2019-09-18 13:59:28 +02:00
zend Fix some type according to review 2019-07-04 21:01:30 +03:00
zip update since versions in core to make it major 2019-10-31 12:29:32 +03:00
zlib Cleanup @since tags with old versions <5.3 2020-01-22 18:26:13 +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 Add missing const for rdkafka 2020-01-15 17:51:11 +01:00
README.md Update description how to work with custom stubs from IDE 2019-09-11 14:48:49 +02:00
composer.json Revert "Updated PHPUnit to version 8" 2019-10-29 17:57:23 +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