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.
Leneshka-jb 0eb16807e8
Merge pull request #630 from dtakken/pecl-zookeeper
18 hours ago
.idea Update stubs for PHP 7.3.7 and new versions of sodium and curl 6 days ago
Core Merge pull request #625 from pestretsov/hand_picked_changes_from_pr_553 2 weeks ago
Ev Add hand-picked changes from pr553 3 weeks ago
FFI Actualize FFI interface using latest API info (#623) 3 weeks ago
PDO Add hand-picked changes from pr553 3 weeks ago
Parle Update RParser.php 3 months ago
Phar Use https for @link annotations (#367) 11 months ago
Reflection ReflectionType::getName() should be ReflectionNamedType::getName() 2 weeks ago
SPL Add hand-picked changes from pr553 3 weeks ago
SQLite Add hand-picked changes from pr553 3 weeks ago
SaxonC Convert links to HTTPS 9 months ago
SimpleXML Add hand-picked changes from pr553 3 weeks ago
SplType Use https for @link annotations (#367) 11 months ago
Zend OPcache Add hand-picked changes from pr553 3 weeks ago
ZendCache Add hand-picked changes from pr553 3 weeks 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 3 weeks ago
apache @link and @see tags should use https 9 months ago
apcu Merge pull request #625 from pestretsov/hand_picked_changes_from_pr_553 2 weeks ago
bcmath Update various @return's in bcmath based on PR feedback 8 months ago
bz2 Add hand-picked changes from pr553 3 weeks ago
calendar Use https for @link annotations (#367) 11 months ago
com_dotnet added missing com_exception to com_dotnet stub 2 months ago
couchbase Add hand-picked changes from pr553 3 weeks ago
crypto Fix default value for parameter to be compatible with PHP 1 month ago
ctype Use https for @link annotations (#367) 11 months ago
cubrid @link and @see tags should use https 9 months ago
curl Update stubs for PHP 7.3.7 and new versions of sodium and curl 6 days ago
date Add hand-picked changes from pr553 3 weeks ago
dba [+]: re-add some more fixes 2 weeks ago
dom Specify that DOMNodeList::item() indexes are 0-based 5 days ago
enchant Fix some type according to review 2 weeks ago
event Change all other links available in HTTPS 9 months ago
exif Add hand-picked changes from pr553 3 weeks ago
fann Add hand-picked changes from pr553 3 weeks ago
ffmpeg Add hand-picked changes from pr553 3 weeks ago
fileinfo Replace http with https in doc links 11 months ago
filter Add hand-picked changes from pr553 3 weeks ago
fpm Fix missing return type of fpm_get_status() function 7 months ago
ftp Add hand-picked changes from pr553 3 weeks ago
gd Remove duplicated constants 3 weeks ago
gearman Add hand-picked changes from pr553 3 weeks ago
geoip Fix some type according to review 2 weeks ago
gettext Use https for @link annotations (#367) 11 months ago
gmagick Add hand-picked changes from pr553 3 weeks ago
gmp Add hand-picked changes from pr553 3 weeks ago
gnupg Add hand-picked changes from pr553 3 weeks ago
grpc Change all other links available in HTTPS 9 months ago
hash Add hand-picked changes from pr553 3 weeks ago
http Fix some type according to review 2 weeks ago
ibm_db2 Add hand-picked changes from pr553 3 weeks ago
iconv [+]: re-add some more fixes 2 weeks ago
igbinary Remove duplicate url scheme inside phpDoc blocks 7 months ago
imagick Add hand-picked changes from pr553 3 weeks ago
imap Add hand-picked changes from pr553 3 weeks ago
inotify Add hand-picked changes from pr553 3 weeks ago
interbase Fix some type according to review 2 weeks ago
intl [+]: re-add some more fixes 2 weeks ago
json Revert "json encode/decode throws JsonException when JSON_THROW_ON_ERROR is set" 1 week ago
judy Use https for @link annotations (#367) 11 months ago
ldap Merge pull request #625 from pestretsov/hand_picked_changes_from_pr_553 2 weeks ago
leveldb renamed folder for leveldb extension to a proper case 1 month ago
libevent Add hand-picked changes from pr553 3 weeks ago
libsodium Make PHPDocs PHPDoc parser compatible 1 year ago
libxml Use https for @link annotations (#367) 11 months ago
lua Fix stub for assign method 6 months ago
mailparse Add hand-picked changes from pr553 3 weeks ago
mapscript Add hand-picked changes from pr553 3 weeks ago
mbstring Add PhpDoc for MB_CASE_ constants since PHP 7.3 3 months ago
mcrypt Fix some type according to review 2 weeks ago
memcache Add hand-picked changes from pr553 3 weeks ago
memcached Add hand-picked changes from pr553 3 weeks ago
meminfo Add ext-meminfo stub 2 months ago
meta Revert "Update .phpstorm.meta to reflect removal of apc extension" 3 weeks ago
ming Use https for @link annotations (#367) 11 months ago
mongo Fix some type according to review 2 weeks ago
mongodb Add hand-picked changes from pr553 3 weeks ago
mqseries moved fann, judy, mqseries to separate directories 2 years ago
msgpack Add msgpack extension stubs 7 months ago
mssql Add hand-picked changes from pr553 3 weeks ago
mysql Fix some type according to review 2 weeks ago
mysql_xdevapi @link and @see tags should use https 9 months ago
mysqli [+]: re-add some more fixes 2 weeks ago
ncurses Use https for @link annotations (#367) 11 months ago
newrelic Add hand-picked changes from pr553 3 weeks ago
oauth Add hand-picked changes from pr553 3 weeks ago
oci8 Add hand-picked changes from pr553 3 weeks ago
odbc Add hand-picked changes from pr553 3 weeks ago
openssl [+]: re-add some more fixes 2 weeks ago
parallel Remove unused imports 1 month ago
pcntl pcntl_async_signals parameter is optional; pcntl_async_signals and pcntl_signal_get_handler description fixes; 1 week ago
pcre default arg for preg_replace_callback_array $count (#624) 3 weeks ago
pdflib @link and @see tags should use https 9 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 3 weeks ago
posix Add hand-picked changes from pr553 3 weeks ago
pspell Add hand-picked changes from pr553 3 weeks ago
pthreads Add pthreads stubs for addRef/delRef/getRefCount functions for Threaded class 8 months ago
radius Add hand-picked changes from pr553 3 weeks ago
rar Add hand-picked changes from pr553 3 weeks ago
rdkafka Add hand-picked changes from pr553 3 weeks ago
readline Use https for @link annotations (#367) 11 months ago
recode Add hand-picked changes from pr553 3 weeks ago
redis If a serilaizer is specified any value can be passed 6 days ago
regex Use https for @link annotations (#367) 11 months ago
rrd Add hand-picked changes from pr553 3 weeks ago
session add default args to session_set_save_handler 5 months ago
shmop Add hand-picked changes from pr553 3 weeks ago
snmp Add hand-picked changes from pr553 3 weeks ago
soap fixing __soapCall() method signature (#619) 1 month ago
sockets [+]: re-add some more fixes 2 weeks ago
sodium Update stubs for PHP 7.3.7 and new versions of sodium and curl 6 days ago
solr Add hand-picked changes from pr553 3 weeks ago
sqlite3 Add hand-picked changes from pr553 3 weeks ago
sqlsrv [+]: re-add some more fixes 2 weeks ago
ssh2 Add hand-picked changes from pr553 3 weeks ago
standard Improve docblock 18 hours ago
stomp Add stubs for pecl-stomp php extension 2 months ago
suhosin Add hand-picked changes from pr553 3 weeks ago
superglobals Change all other links available in HTTPS 9 months ago
svn Add hand-picked changes from pr553 3 weeks ago
sybase Add hand-picked changes from pr553 3 weeks ago
sync Use https for @link annotations (#367) 11 months ago
sysvmsg Use https for @link annotations (#367) 11 months ago
sysvsem Add hand-picked changes from pr553 3 weeks ago
sysvshm Use https for @link annotations (#367) 11 months ago
tests Fix constant namespace extraction 3 weeks ago
tidy Use https for @link annotations (#367) 11 months ago
tokenizer Use https for @link annotations (#367) 11 months ago
uopz @link and @see tags should use https 9 months ago
uv Fix UV stubs to be compatible with PHP 7 1 month ago
v8js Rename V8Js.php to v8js.php 2 years ago
wddx Add hand-picked changes from pr553 3 weeks ago
win32service Add hand-picked changes from pr553 3 weeks ago
wincache Add hand-picked changes from pr553 3 weeks ago
xcache WI-33237 split embedded stubs into modules 2 years ago
xdebug Update xdebug_stop_code_coverage parameter (#617) 1 month ago
xhprof @link and @see tags should use https 9 months ago
xml Add hand-picked changes from pr553 3 weeks ago
xmlreader Add hand-picked changes from pr553 3 weeks ago
xmlrpc xmlrpc_server_register_method: use callable type 2 months ago
xmlwriter Use https for @link annotations (#367) 11 months ago
xsl Add hand-picked changes from pr553 3 weeks ago
yaf Add hand-picked changes from pr553 3 weeks ago
yaml Fixed signature of yaml_emit() 2 months ago
yar Add hand-picked changes from pr553 3 weeks ago
zend Fix some type according to review 2 weeks ago
zip Add hand-picked changes from pr553 3 weeks ago
zlib Add hand-picked changes from pr553 3 weeks ago
zmq @link and @see tags should use https 9 months ago
zookeeper Add stub for zookeeper extension 4 days ago
.gitignore remove quality tools and redundant mapping 7 months ago
.travis.yml Let's move check-stub-map under tests folder 3 weeks ago
CONTRIBUTING.md Update requirements for PR requests 1 year ago
PhpStormStubsMap.php Merge pull request #630 from dtakken/pecl-zookeeper 18 hours ago
README.md Update instruction on how to update stub map 3 weeks ago
composer.json [WI-46976] Add stub map with its generation script 1 month ago
docker-compose.yml Patch docker-compose 4 weeks ago
generate-stub-map Don't parse the content of vendor 3 weeks 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

TBD: Have a full copy of the .git repo within an IDE and add it to the project as an external library called “PHP Runtime”. 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