You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Svetlana Zemlyanskaya 41b5f22ab8
Merge pull request #658 from ntzm/patch-1
18 hours ago
.idea Update stubs for PHP 7.3.7 and new versions of sodium and curl 2 months ago
Core Merge pull request #625 from pestretsov/hand_picked_changes_from_pr_553 2 months ago
Ev Add hand-picked changes from pr553 2 months ago
FFI Actualize FFI interface using latest API info (#623) 2 months ago
PDO Add hand-picked changes from pr553 2 months ago
Parle Update RParser.php 5 months ago
Phar Use https for @link annotations (#367) 1 year ago
Reflection WI-48483 Deprecate functions from https://wiki.php.net/rfc/deprecations_php_7_4 2 weeks ago
SPL Add hand-picked changes from pr553 2 months ago
SQLite Add hand-picked changes from pr553 2 months ago
SaxonC Convert links to HTTPS 11 months ago
SimpleXML Add hand-picked changes from pr553 2 months ago
SplType Use https for @link annotations (#367) 1 year ago
Zend OPcache Add hand-picked changes from pr553 2 months ago
ZendCache Add hand-picked changes from pr553 2 months ago
ZendDebugger WI-33237 split embedded stubs into modules 2 years ago
ZendUtils WI-33237 split embedded stubs into modules 2 years ago
amqp Add hand-picked changes from pr553 2 months ago
apache @link and @see tags should use https 11 months ago
apcu Merge pull request #625 from pestretsov/hand_picked_changes_from_pr_553 2 months ago
bcmath Update various @return's in bcmath based on PR feedback 10 months ago
bz2 Add hand-picked changes from pr553 2 months ago
calendar Use https for @link annotations (#367) 1 year ago
cassandra Add Root namespace for Cassandra class 3 weeks ago
com_dotnet added missing com_exception to com_dotnet stub 4 months ago
couchbase Add hand-picked changes from pr553 2 months ago
crypto Fix default value for parameter to be compatible with PHP 3 months ago
ctype Use https for @link annotations (#367) 1 year ago
cubrid @link and @see tags should use https 11 months ago
curl Update stubs for PHP 7.3.7 and new versions of sodium and curl 2 months ago
date Add hand-picked changes from pr553 2 months ago
dba [+]: re-add some more fixes 2 months ago
dom DomElement default args and corrected param tags 1 week ago
enchant Fix some type according to review 2 months ago
event Change all other links available in HTTPS 11 months ago
exif Add hand-picked changes from pr553 2 months ago
fann Add hand-picked changes from pr553 2 months ago
ffmpeg Add hand-picked changes from pr553 2 months ago
fileinfo Replace http with https in doc links 1 year ago
filter WI-48483 Deprecate functions from https://wiki.php.net/rfc/deprecations_php_7_4 2 weeks ago
fpm Fix missing return type of fpm_get_status() function 9 months ago
ftp Add hand-picked changes from pr553 2 months ago
gd Remove duplicated constants 2 months ago
gearman Add hand-picked changes from pr553 2 months ago
geoip Fix some type according to review 2 months ago
geos Fix geos stubs 3 weeks ago
gettext Use https for @link annotations (#367) 1 year ago
gmagick Add hand-picked changes from pr553 2 months ago
gmp Add hand-picked changes from pr553 2 months ago
gnupg Add hand-picked changes from pr553 2 months ago
grpc Grpc\ChannelCredentials::createSsl() has all optional parameters. 1 month ago
hash Add hand-picked changes from pr553 2 months ago
http Fix some type according to review 2 months ago
ibm_db2 Add hand-picked changes from pr553 2 months ago
iconv [+]: re-add some more fixes 2 months ago
igbinary Remove duplicate url scheme inside phpDoc blocks 9 months ago
imagick Add hand-picked changes from pr553 2 months ago
imap Add hand-picked changes from pr553 2 months ago
inotify Add hand-picked changes from pr553 2 months ago
interbase Fix some type according to review 2 months ago
intl [+]: re-add some more fixes 2 months ago
json Revert "json encode/decode throws JsonException when JSON_THROW_ON_ERROR is set" 2 months ago
judy Use https for @link annotations (#367) 1 year ago
ldap fix ldap stubs based on failed tests 3 weeks ago
leveldb renamed folder for leveldb extension to a proper case 3 months ago
libevent Add hand-picked changes from pr553 2 months ago
libsodium Make PHPDocs PHPDoc parser compatible 1 year ago
libxml Use https for @link annotations (#367) 1 year ago
lua Fix stub for assign method 8 months ago
mailparse Add hand-picked changes from pr553 2 months ago
mapscript Add hand-picked changes from pr553 2 months ago
mbstring Update mb_* return types 1 month ago
mcrypt Fix some type according to review 2 months ago
memcache Add hand-picked changes from pr553 2 months ago
memcached Add hand-picked changes from pr553 2 months ago
meminfo Add ext-meminfo stub 4 months ago
meta Apply suggestions from code review 1 month ago
ming Use https for @link annotations (#367) 1 year ago
mongo Fix some type according to review 2 months ago
mongodb Fix CommandStartedEvent::getCommand() return type 1 month ago
mqseries moved fann, judy, mqseries to separate directories 2 years ago
msgpack Add msgpack extension stubs 9 months ago
mssql Add hand-picked changes from pr553 2 months ago
mysql Fix some type according to review 2 months ago
mysql_xdevapi mysql_xdevapi_8_0_11 3 weeks ago
mysqli Update mysqli_stmt::get_warnings() parameters 1 week ago
ncurses Use https for @link annotations (#367) 1 year ago
newrelic Add hand-picked changes from pr553 2 months ago
oauth Add hand-picked changes from pr553 2 months ago
oci8 Add hand-picked changes from pr553 2 months ago
odbc Add hand-picked changes from pr553 2 months ago
openssl [+]: re-add some more fixes 2 months ago
parallel update stubs for ext-parallel 1 month ago
pcntl pcntl_async_signals parameter is optional; 2 months ago
pcre default arg for preg_replace_callback_array $count (#624) 2 months ago
pdflib @link and @see tags should use https 11 months ago
pdo_ibm WI-33237 split embedded stubs into modules 2 years ago
pdo_mysql WI-33237 split embedded stubs into modules 2 years ago
pdo_pgsql WI-33237 split embedded stubs into modules 2 years ago
pdo_sqlite WI-33237 split embedded stubs into modules 2 years ago
pgsql Add hand-picked changes from pr553 2 months ago
posix Add hand-picked changes from pr553 2 months ago
pspell Add hand-picked changes from pr553 2 months ago
pthreads Add pthreads stubs for addRef/delRef/getRefCount functions for Threaded class 10 months ago
radius Add hand-picked changes from pr553 2 months ago
rar Add hand-picked changes from pr553 2 months ago
rdkafka Add hand-picked changes from pr553 2 months ago
readline Use https for @link annotations (#367) 1 year ago
recode Add hand-picked changes from pr553 2 months ago
redis fixed return types to Redis[Array]->info() 2 weeks ago
regex Use https for @link annotations (#367) 1 year ago
rrd Add hand-picked changes from pr553 2 months ago
session add default args to session_set_save_handler 6 months ago
shmop Add hand-picked changes from pr553 2 months ago
snmp Add hand-picked changes from pr553 2 months ago
soap fixing __soapCall() method signature (#619) 2 months ago
sockets Fix stub for socket_export_stream function - return false as well 1 month ago
sodium Update stubs for PHP 7.3.7 and new versions of sodium and curl 2 months ago
solr Add hand-picked changes from pr553 2 months ago
sqlite3 Add hand-picked changes from pr553 2 months ago
sqlsrv [+]: re-add some more fixes 2 months ago
ssh2 Add hand-picked changes from pr553 2 months ago
standard password_hash can return null 4 days ago
stomp Add stubs for pecl-stomp php extension 4 months ago
suhosin Add hand-picked changes from pr553 2 months ago
superglobals Change all other links available in HTTPS 11 months ago
svn Add hand-picked changes from pr553 2 months ago
sybase Add hand-picked changes from pr553 2 months ago
sync Use https for @link annotations (#367) 1 year ago
sysvmsg Use https for @link annotations (#367) 1 year ago
sysvsem Add hand-picked changes from pr553 2 months ago
sysvshm Use https for @link annotations (#367) 1 year ago
tests Mute parameter mismatch failures for strtr function 3 weeks ago
tidy Use https for @link annotations (#367) 1 year ago
tokenizer Use https for @link annotations (#367) 1 year ago
uopz @link and @see tags should use https 11 months ago
uv Fix UV stubs to be compatible with PHP 7 3 months ago
v8js Rename V8Js.php to v8js.php 2 years ago
wddx Add hand-picked changes from pr553 2 months ago
win32service Add hand-picked changes from pr553 2 months ago
wincache Add hand-picked changes from pr553 2 months ago
xcache WI-33237 split embedded stubs into modules 2 years ago
xdebug Update xdebug_stop_code_coverage parameter (#617) 3 months ago
xhprof @link and @see tags should use https 11 months ago
xml Add hand-picked changes from pr553 2 months ago
xmlreader Add hand-picked changes from pr553 2 months ago
xmlrpc xmlrpc_server_register_method: use callable type 4 months ago
xmlwriter Use https for @link annotations (#367) 1 year ago
xsl Add hand-picked changes from pr553 2 months ago
yaf Add hand-picked changes from pr553 2 months ago
yaml Fixed signature of yaml_emit() 4 months ago
yar Add hand-picked changes from pr553 2 months ago
zend Fix some type according to review 2 months ago
zip Add hand-picked changes from pr553 2 months ago
zlib Add hand-picked changes from pr553 2 months ago
zmq @link and @see tags should use https 11 months ago
zookeeper Add stub for zookeeper extension 2 months ago
.gitignore remove quality tools and redundant mapping 9 months ago
.travis.yml add tests on ldap extension 3 weeks ago
CONTRIBUTING.md Update requirements for PR requests 1 year ago
Dockerfile add tests on ldap extension 3 weeks ago
PhpStormStubsMap.php Merge pull request #647 from Frago9876543210/master 2 weeks ago
README.md Update description how to work with custom stubs from IDE 5 days ago
composer.json [WI-46976] Add stub map with its generation script 2 months ago
docker-compose.yml add tests on ldap extension 3 weeks ago
generate-stub-map Don't parse the content of vendor 2 months ago

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