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.
Kirill Nesmeyanov bcaeb52ebb
PHP 8.0 support (#857)
6 days ago
.idea PHP 7.4 language level 1 month ago
Core PHP 8.0 support (#857) 6 days ago
Ev Revert "Cleanup and rules for PHPCS" 3 weeks ago
FFI fix wrong @return at \FFI::cdef() 2 months ago
PDO Cleanup @since tags with old versions <5.3 5 months ago
Parle lowercase keywords null/true/false 2 weeks ago
Phar fix Phar::offsetGet return type 4 weeks ago
Reflection PHP 8.0 support (#857) 6 days ago
SPL Revert "Cleanup and rules for PHPCS" 3 weeks ago
SQLite Revert "Cleanup and rules for PHPCS" 3 weeks ago
SaxonC Remove whitespaces from stubs. 1 month ago
SimpleXML WI-53933 Support polymorphic return types for SimpleXMLElement 2 weeks ago
SplType Use https for @link annotations (#367) 1 year ago
Zend OPcache lowercase keywords null/true/false 2 weeks ago
ZendCache Remove whitespaces from stubs. 1 month ago
ZendDebugger WI-33237 split embedded stubs into modules 3 years ago
ZendUtils WI-33237 split embedded stubs into modules 3 years ago
amqp Revert "Cleanup and rules for PHPCS" 3 weeks ago
apache Cleanup @since tags with old versions <5.3 5 months ago
apcu Align `APCuIterator` case with its implementation 4 weeks ago
bcmath Remove "since 7" leftovers 4 months ago
blackfire Add stubs for BlackfireProbe (#764) 3 months ago
bz2 correct return value for bzopen(), dba_open(), finfo_open() and shmop_open() functions 2 weeks ago
calendar Cleanup @since tags with old versions <5.3 5 months ago
cassandra Revert "Cleanup and rules for PHPCS" 3 weeks ago
com_dotnet com_dotnet fix optional parameters 6 months ago
couchbase lowercase keywords null/true/false 2 weeks ago
crypto lowercase keywords null/true/false 2 weeks ago
ctype Cleanup @since tags with old versions <5.3 5 months ago
cubrid correct return value for PHP internal functions on failure 2 weeks ago
curl fix test for zero patch version 1 week ago
date lowercase keywords null/true/false 2 weeks ago
dba correct return value for bzopen(), dba_open(), finfo_open() and shmop_open() functions 2 weeks ago
decimal Updated Decimal extension stubs 3 weeks ago
dom PHP 8.0 support (#857) 6 days ago
ds Data Structures: 3rd Amendment (#856) 1 week ago
enchant correct return value for PHP internal functions on failure 2 weeks ago
event remove duplicated properties 3 weeks ago
exif Cleanup @since tags with old versions <5.3 5 months ago
expect Add stubs for ext-expect (#761) 3 months ago
fann correct return value for PHP internal functions on failure 2 weeks ago
ffmpeg Fix undefined class inspection 1 month ago
fileinfo correct return value for bzopen(), dba_open(), finfo_open() and shmop_open() functions 2 weeks ago
filter Cleanup @since tags with old versions <5.3 5 months ago
fpm Remove whitespaces from stubs. 1 month ago
ftp add false types on ftp as documented 5 months ago
gd Revert "Cleanup and rules for PHPCS" 3 weeks ago
gearman Revert "Cleanup and rules for PHPCS" 3 weeks ago
geoip Remove whitespaces from stubs. 1 month ago
geos Revert "Cleanup and rules for PHPCS" 3 weeks ago
gettext Cleanup @since tags with old versions <5.3 5 months ago
gmagick Fix typos 2 months ago
gmp Added missing GMP functions and constants 1 month ago
gnupg lowercase keywords null/true/false 2 weeks ago
grpc Grpc\ChannelCredentials::createSsl() has all optional parameters. 11 months ago
hash lowercase keywords null/true/false 2 weeks ago
http lowercase keywords null/true/false 2 weeks ago
ibm_db2 Remove whitespaces from stubs. 1 month ago
iconv Cleanup @since tags with old versions <5.3 5 months ago
igbinary Remove duplicate url scheme inside phpDoc blocks 1 year ago
imagick lowercase keywords null/true/false 2 weeks ago
imap Added missing IMAP functions 1 month ago
inotify PHP tags cleanup 3 months ago
interbase correct return value for PHP internal functions on failure 2 weeks ago
intl lowercase keywords null/true/false 2 weeks ago
json Cleanup @since tags with old versions <5.3 5 months ago
judy Remove whitespaces from stubs. 1 month ago
ldap PHP 8.0 support (#857) 6 days ago
leveldb lowercase keywords null/true/false 2 weeks ago
libevent Remove whitespaces from stubs. 1 month ago
libsodium Revert "Cleanup and rules for PHPCS" 3 weeks ago
libxml Specify array value type in libxml_get_errors (#752) 3 months ago
lua Remove whitespaces from stubs. 1 month ago
lzf Added pecl LZF 6 months ago
mailparse Add hand-picked changes from pr553 1 year ago
mapscript Revert "Cleanup and rules for PHPCS" 3 weeks ago
mbstring Added optional parameters to new mbstring functions 1 month ago
mcrypt Remove whitespaces from stubs. 1 month ago
memcache Revert "Cleanup and rules for PHPCS" 3 weeks ago
memcached Remove whitespaces from stubs. 1 month ago
meminfo Add ext-meminfo stub 1 year ago
meta Add meta for session_ functions 3 weeks ago
ming Remove whitespaces from stubs. 1 month ago
mongo lowercase keywords null/true/false 2 weeks ago
mongodb The third parameter of Driver::executeQuery is now an options array (#813) 1 month ago
mosquitto-php Revert "Cleanup and rules for PHPCS" 3 weeks ago
mqseries Remove whitespaces from stubs. 1 month ago
msgpack lowercase keywords null/true/false 2 weeks ago
mssql correct return value for PHP internal functions on failure 2 weeks ago
mysql correct return value for PHP internal functions on failure 2 weeks ago
mysql_xdevapi Fix undefined class inspection 1 month ago
mysqli mysqli correct link & params 4 weeks ago
ncurses Fix undefined class inspection 1 month ago
newrelic Remove whitespaces from stubs. 1 month ago
oauth Update oauth.php 3 weeks ago
oci8 Fix typos 2 months ago
odbc correct return value for PHP internal functions on failure 2 weeks ago
openssl lowercase keywords null/true/false 2 weeks ago
parallel Remove whitespaces from stubs. 1 month ago
pcntl PHP tags cleanup 3 months ago
pcov Revert "Cleanup and rules for PHPCS" 3 weeks ago
pcre PHP 8.0 support (#857) 6 days ago
pdflib Revert "Cleanup and rules for PHPCS" 3 weeks ago
pdo_ibm WI-33237 split embedded stubs into modules 3 years ago
pdo_mysql WI-33237 split embedded stubs into modules 3 years ago
pdo_pgsql WI-33237 split embedded stubs into modules 3 years ago
pdo_sqlite WI-33237 split embedded stubs into modules 3 years ago
pgsql Remove whitespaces from stubs. 1 month ago
phpdbg Add stubs for sapi/phpdbg functions 1 month ago
posix Cleanup @since tags with old versions <5.3 5 months ago
pq lowercase keywords null/true/false 2 weeks ago
pspell Cleanup @since tags with old versions <5.3 5 months ago
pthreads Bring pthreads stub in line with pthreads v3.2.0 (#852) 2 weeks ago
radius remove space in constant. Based on Pull/814 (#818) 1 month ago
rar Remove whitespaces from stubs. 1 month ago
rdkafka Added queryWatermarkOffsets and offsetsForTimes for the RdKafka\KafkaConsumer class 1 month ago
readline Remove whitespaces from stubs. 1 month ago
recode Cleanup @since tags with old versions <5.3 5 months ago
redis Remove duplicate comments 1 week ago
regex Add missing @removed tags for ereg and sybace 5 months ago
rpminfo changed to the correct return values 2 months ago
rrd Fix typos 2 months ago
session Remove "since 7" leftovers 4 months ago
shmop correct return value for bzopen(), dba_open(), finfo_open() and shmop_open() functions 2 weeks ago
snmp lowercase keywords null/true/false 2 weeks ago
soap Remove whitespaces from stubs. 1 month ago
sockets correct return value for PHP internal functions on failure 2 weeks ago
sodium fix test for zero patch version 1 week ago
solr Remove whitespaces from stubs. 1 month ago
sqlite3 Remove whitespaces from stubs. 1 month ago
sqlsrv Revert "Cleanup and rules for PHPCS" 3 weeks ago
ssh2 correct return value for PHP internal functions on failure 2 weeks ago
standard PHP 8.0 support (#857) 6 days ago
stats Remove whitespaces from stubs. 1 month ago
stomp Revert "Cleanup and rules for PHPCS" 3 weeks ago
suhosin Remove whitespaces from stubs. 1 month ago
superglobals Revert "Cleanup and rules for PHPCS" 3 weeks ago
svn Add hand-picked changes from pr553 1 year ago
sybase correct return value for PHP internal functions on failure 2 weeks ago
sync lowercase keywords null/true/false 2 weeks ago
sysvmsg Cleanup @since tags with old versions <5.3 5 months ago
sysvsem Cleanup @since tags with old versions <5.3 5 months ago
sysvshm Cleanup @since tags with old versions <5.3 5 months ago
tests fix test for zero patch version 1 week ago
tidy Added missing TIDY constants 1 month ago
tokenizer Cleanup @since tags with old versions <5.3 5 months ago
uopz Fix undefined class inspection 1 month ago
uuid Remove whitespaces from stubs. 1 month ago
uv Fix typos 2 months ago
v8js lowercase keywords null/true/false 2 weeks ago
wddx Cleanup @since tags with old versions <5.3 5 months ago
win32service Revert "Cleanup and rules for PHPCS" 3 weeks ago
winbinder Revert "Cleanup and rules for PHPCS" 3 weeks ago
wincache Remove whitespaces from stubs. 1 month ago
xcache Remove whitespaces from stubs. 1 month ago
xdebug added xdebug_is_debugger_active() (#855) 1 week ago
xhprof PHP tags cleanup 3 months ago
xml correct return value for PHP internal functions on failure 2 weeks ago
xmlreader Cleanup @since tags with old versions <5.3 5 months ago
xmlrpc Cleanup @since tags with old versions <5.3 5 months ago
xmlwriter Remove whitespaces from stubs. 1 month ago
xsl Cleanup @since tags with old versions <5.3 5 months ago
xxtea Stubs for PECL XXTEA 8 months ago
yaf Revert "Cleanup and rules for PHPCS" 3 weeks ago
yaml PHP tags cleanup 3 months ago
yar Remove whitespaces from stubs. 1 month ago
zend Revert "Cleanup and rules for PHPCS" 3 weeks ago
zip add missing constants and methods to ZipArchive 1 week ago
zlib correct return value for PHP internal functions on failure 2 weeks ago
zmq @link and @see tags should use https 1 year ago
zookeeper Add stub for zookeeper extension 11 months ago
.gitignore Add php-cs-fixer 1 month ago
.php_cs lowercase keywords null/true/false 2 weeks ago
.travis.yml Add php-cs-fixer 1 month ago
CONTRIBUTING.md Add php-cs-fixer 1 month ago
Dockerfile PHP 7.4 stubs initial support + switch to PHP 7.4 docker image 7 months ago
PhpStormStubsMap.php PHP 8.0 support (#857) 6 days ago
README.md PHP Data Structures (#791) 1 month ago
composer.json Revert "Cleanup and rules for PHPCS" 3 weeks ago
docker-compose.yml add tests on ldap extension 10 months ago
generate-stub-map Don't parse the content of vendor 1 year 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

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