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 Smelov db2da3ea6b
Merge pull request #589 from pmmp/fix-gmp
3 days ago
.idea remove quality tools and redundant mapping 5 months ago
Core Fixed Closure::call() parameter name 1 week ago
Ev Move stub into module 2 years ago
FFI Add ffi extension support 3 months ago
LevelDB Create LevelDB.php 6 months ago
PDO PDO::__construct default args 2 months ago
Parle Update RParser.php 1 month ago
Phar Use https for @link annotations (#367) 9 months ago
Reflection Fix ReflectionClass::getMethods 1 month ago
SPL Make SplFileObject::fputcsv() parameter name compatible with PHP documentation 3 weeks ago
SQLite Replace http with https in doc links 9 months ago
SaxonC Convert links to HTTPS 7 months ago
SimpleXML Revert "SimpleXML: better return annotation for xpath" 3 weeks ago
SplType Use https for @link annotations (#367) 9 months ago
Zend OPcache @link and @see tags should use https 7 months ago
ZendCache WI-33237 split embedded stubs into modules 2 years ago
ZendDebugger WI-33237 split embedded stubs into modules 2 years ago
ZendUtils WI-33237 split embedded stubs into modules 2 years ago
amqp Change all other links available in HTTPS 7 months ago
apache @link and @see tags should use https 7 months ago
apc Use https for @link annotations (#367) 9 months ago
apcu Use https for @link annotations (#367) 9 months ago
bcmath Update various @return's in bcmath based on PR feedback 6 months ago
bz2 Use https for @link annotations (#367) 9 months ago
calendar Use https for @link annotations (#367) 9 months ago
com_dotnet added missing com_exception to com_dotnet stub 1 week ago
couchbase Change all other links available in HTTPS 7 months ago
csprng Use https for @link annotations (#367) 9 months ago
ctype Use https for @link annotations (#367) 9 months ago
cubrid @link and @see tags should use https 7 months ago
curl PHP 7.3 stubs update 4 months ago
date make strftime() $timestamp optional (#581) 1 week ago
dba Use https for @link annotations (#367) 9 months ago
dom Fixed PhpDoc for dom_import_simplexml() stub 2 months ago
enchant Use https for @link annotations (#367) 9 months ago
event Change all other links available in HTTPS 7 months ago
exif Use https for @link annotations (#367) 9 months ago
fann moved fann, judy, mqseries to separate directories 1 year ago
ffmpeg WI-33237 split embedded stubs into modules 2 years ago
fileinfo Replace http with https in doc links 9 months ago
filter PHP 7.3 stubs update 4 months ago
fpm Fix missing return type of fpm_get_status() function 5 months ago
ftp Use https for @link annotations (#367) 9 months ago
gd remove dup 3 weeks ago
gearman Use https for @link annotations (#367) 9 months ago
geoip Added new functions of geoip 1.1.0 WI-45203 (#504) 2 months ago
gettext Use https for @link annotations (#367) 9 months ago
gmagick Use https for @link annotations (#367) 9 months ago
gmp Fixed GMP stub for PHP >= 5.6 this caused many false positives. 4 days ago
gnupg Use https for @link annotations (#367) 9 months ago
grpc Change all other links available in HTTPS 7 months ago
hash Fixed optional in hash_pbkdf2 declaration 3 months ago
http Update http3.php 2 months ago
ibm_db2 Changed the value type for db2_autocommit from bool to int 5 months ago
iconv [+]: fix iconv phpdoc for return 4 months ago
igbinary Remove duplicate url scheme inside phpDoc blocks 5 months ago
imagick Change all other links available in HTTPS 7 months ago
imap Use https for @link annotations (#367) 9 months ago
inotify @link and @see tags should use https 7 months ago
interbase Use https for @link annotations (#367) 9 months ago
intl Fixed parent of IntlGregorianCalendar 3 weeks ago
json Use https for @link annotations (#367) 9 months ago
judy Use https for @link annotations (#367) 9 months ago
ldap Use https for @link annotations (#367) 9 months ago
libevent Replace http with https in doc links 9 months ago
libsodium Make PHPDocs PHPDoc parser compatible 1 year ago
libxml Use https for @link annotations (#367) 9 months ago
lua Fix stub for assign method 4 months ago
mailparse Use https for @link annotations (#367) 9 months ago
mapscript Change all other links available in HTTPS 7 months ago
mbstring Add PhpDoc for MB_CASE_ constants since PHP 7.3 1 month ago
mcrypt @link and @see tags should use https 7 months ago
memcache @link and @see tags should use https 7 months ago
memcached Update Memcached::deleteMulti return type and description 1 month ago
meta Add expected arguments fpr yaml_emit 4 days ago
ming Use https for @link annotations (#367) 9 months ago
mongo Change all other links available in HTTPS 7 months ago
mongodb Merge pull request #579 from timwhitlock/master 1 week ago
mqseries moved fann, judy, mqseries to separate directories 1 year ago
msgpack Add msgpack extension stubs 5 months ago
mssql Use https for @link annotations (#367) 9 months ago
mysql Use https for @link annotations (#367) 9 months ago
mysql_xdevapi @link and @see tags should use https 7 months ago
mysqli default args and types for mysqli() 2 months ago
ncurses Use https for @link annotations (#367) 9 months ago
newrelic Update newrelic.php 8 months ago
oauth @return should be omitted for __construct 11 months ago
oci8 Made return types of the oci8 functions more accurate 5 months ago
odbc Use https for @link annotations (#367) 9 months ago
openssl fix openssl_encrypt docs 3 months ago
password add PASSWORD_ARGON2ID constant (PHP 7.3) 5 months ago
pcntl Use https for @link annotations (#367) 9 months ago
pcre PHP 7.3 stubs update 4 months ago
pdflib @link and @see tags should use https 7 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 default arg for pg_fetch_all 2 months ago
posix Replace http with https in doc links 9 months ago
pspell Use https for @link annotations (#367) 9 months ago
pthreads Add pthreads stubs for addRef/delRef/getRefCount functions for Threaded class 6 months ago
radius @link and @see tags should use https (test for constants) 7 months ago
rar Use https for @link annotations (#367) 9 months ago
rdkafka Fixed rdkafka extension folder name to be compatible with "Sync Extensions with Interpreter" action 10 months ago
readline Use https for @link annotations (#367) 9 months ago
recode Use https for @link annotations (#367) 9 months ago
redis Merge pull request #559 from alexander-schranz/patch-2 1 month ago
regex Use https for @link annotations (#367) 9 months ago
rrd Replace http with https in doc links 9 months ago
session add default args to session_set_save_handler 2 months ago
shmop Correct the type of shared memory identifiers 8 months ago
snmp Remove duplicate url scheme inside phpDoc blocks 5 months ago
soap Update soap/soap.php 3 months ago
sockets Remove duplicate url scheme inside phpDoc blocks 5 months ago
sodium @link and @see tags should use https 7 months ago
solr Fixed an incorrect @return type of SolrClient::query 4 months ago
sqlite3 Use https for @link annotations (#367) 9 months ago
sqlsrv Corrected parameter types for some sqlsrv functions 3 months ago
ssh2 fix return type param 7 months ago
standard Removed duplicate function 1 week ago
stomp Add stubs for pecl-stomp php extension 3 weeks ago
suhosin Use https for @link annotations (#367) 9 months ago
superglobals Change all other links available in HTTPS 7 months ago
svn Use https for @link annotations (#367) 9 months ago
sybase Use https for @link annotations (#367) 9 months ago
sync Use https for @link annotations (#367) 9 months ago
sysvmsg Use https for @link annotations (#367) 9 months ago
sysvsem Use https for @link annotations (#367) 9 months ago
sysvshm Use https for @link annotations (#367) 9 months ago
tests Add check for duplicate argumentsSet usage 1 month ago
tidy Use https for @link annotations (#367) 9 months ago
tokenizer Use https for @link annotations (#367) 9 months ago
uopz @link and @see tags should use https 7 months ago
v8js Rename V8Js.php to v8js.php 2 years ago
wddx Use https for @link annotations (#367) 9 months ago
win32service add more constants 1 year ago
wincache @link and @see tags should use https 7 months ago
xcache WI-33237 split embedded stubs into modules 2 years ago
xdebug Added missing functions, fixed function desciptions 2 years ago
xhprof @link and @see tags should use https 7 months ago
xml Use https for @link annotations (#367) 9 months ago
xmlreader Use https for @link annotations (#367) 9 months ago
xmlrpc Use https for @link annotations (#367) 9 months ago
xmlwriter Use https for @link annotations (#367) 9 months ago
xsl Use https for @link annotations (#367) 9 months ago
yaf Update yaf_namespace.php 1 month ago
yaml Fixed signature of yaml_emit() 4 days ago
yar These constants are not case insensitive, get rid of the third argument 1 month ago
zend WI-33237 split embedded stubs into modules 2 years ago
zip Fix error returns 3 months ago
zlib PHP 7.3 stubs update 4 months ago
zmq @link and @see tags should use https 7 months ago
.gitignore remove quality tools and redundant mapping 5 months ago
.travis.yml Run test in the folder instead of single file 3 months ago
CONTRIBUTING.md Update requirements for PR requests 1 year ago
README.md Merge pull request #465 from isfedorov/master 5 months ago
composer.json Fixes for notes in PR #468 4 months ago
docker-compose.yml Run test in the folder instead of single file 3 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

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

License

Apache 2