Skip to content

JetBrains/phpstorm-stubs

Folders and files

NameName
Last commit message
Last commit date
Feb 28, 2025
Jul 15, 2022
Mar 19, 2025
Mar 15, 2024
Jun 28, 2022
Feb 4, 2025
Feb 28, 2025
Jan 13, 2024
Sep 1, 2024
Nov 23, 2024
Oct 28, 2024
Nov 3, 2022
Mar 17, 2021
Aug 25, 2024
Mar 17, 2021
Oct 5, 2024
Sep 7, 2021
Mar 17, 2021
Mar 17, 2021
Oct 31, 2024
May 28, 2024
Mar 17, 2021
Mar 17, 2021
Feb 23, 2022
Dec 14, 2024
Mar 15, 2022
Apr 17, 2024
Oct 31, 2024
Oct 17, 2022
Feb 20, 2023
Mar 17, 2021
Jan 15, 2024
Feb 23, 2022
Mar 17, 2021
Aug 11, 2021
Nov 3, 2023
Mar 14, 2025
Mar 19, 2025
Oct 28, 2024
Feb 23, 2022
Mar 25, 2022
Dec 14, 2024
Dec 17, 2024
Feb 18, 2022
Nov 23, 2021
May 9, 2021
Feb 23, 2022
Mar 17, 2021
Mar 17, 2021
Mar 17, 2021
Mar 17, 2021
Mar 14, 2025
Jul 27, 2022
Oct 6, 2022
Aug 27, 2024
Dec 15, 2023
Aug 25, 2024
Aug 20, 2024
Mar 17, 2021
Mar 17, 2021
Aug 25, 2024
Feb 23, 2022
Aug 25, 2024
Aug 28, 2024
Sep 9, 2021
Mar 15, 2025
Dec 15, 2023
Nov 3, 2023
Oct 17, 2022
Mar 17, 2021
Dec 19, 2024
Mar 24, 2024
Mar 18, 2021
Jan 15, 2023
Oct 27, 2024
Mar 14, 2025
Feb 28, 2025
Feb 23, 2022
Aug 25, 2024
Mar 17, 2021
May 9, 2021
Aug 25, 2024
Apr 11, 2021
Dec 14, 2024
Mar 17, 2021
Mar 17, 2021
Mar 13, 2023
Mar 17, 2021
Aug 25, 2024
Jan 5, 2022
Feb 23, 2022
Dec 6, 2022
Mar 17, 2021
Oct 31, 2024
Mar 17, 2021
Feb 23, 2022
Oct 5, 2024
Aug 25, 2024
Mar 17, 2021
Mar 17, 2021
Mar 17, 2021
Dec 14, 2024
Mar 17, 2021
Dec 14, 2024
Mar 17, 2021
May 28, 2024
May 9, 2021
Nov 3, 2023
Oct 5, 2024
Oct 27, 2024
Oct 4, 2023
Aug 26, 2024
Mar 17, 2021
Sep 1, 2024
Aug 3, 2021
Oct 30, 2023
Apr 17, 2024
Dec 23, 2024
May 13, 2020
Feb 28, 2025
Aug 25, 2024
Jan 20, 2022
Mar 17, 2021
Mar 17, 2021
Dec 14, 2024
Feb 23, 2022
Jan 31, 2025
Oct 17, 2022
Jan 5, 2022
Feb 4, 2025
Mar 17, 2021
Nov 26, 2024
Nov 3, 2023
Mar 17, 2021
Apr 29, 2024
Mar 17, 2021
Dec 1, 2023
Feb 23, 2022
Apr 8, 2022
Feb 23, 2022
Oct 18, 2024
Sep 1, 2024
Jan 12, 2024
Mar 17, 2021
Aug 25, 2024
Mar 17, 2021
Nov 3, 2023
Mar 19, 2025
Mar 17, 2021
Mar 17, 2021
Mar 17, 2021
Jan 12, 2024
Aug 25, 2024
Feb 23, 2022
Feb 28, 2025
May 9, 2021
Jul 28, 2021
Aug 25, 2024
Mar 17, 2021
Mar 17, 2021
Feb 28, 2025
Oct 5, 2024
Sep 1, 2024
Aug 14, 2021
Jan 20, 2022
Mar 17, 2021
Apr 8, 2024
May 3, 2022
Aug 29, 2024
Mar 17, 2021
Aug 3, 2021
Apr 11, 2021
Dec 21, 2020
Aug 25, 2024
Aug 14, 2021
Mar 17, 2021
Feb 23, 2022
Aug 25, 2024
Aug 25, 2024
Mar 17, 2021
Aug 25, 2024
Oct 5, 2024
Mar 17, 2021
Apr 3, 2024
Mar 17, 2021
Feb 23, 2022
Feb 23, 2022
Oct 5, 2024
Mar 20, 2025
Feb 5, 2025
Feb 5, 2025
Feb 5, 2025
Feb 26, 2025
Sep 7, 2023
Jan 12, 2024
Nov 24, 2021
Feb 1, 2023
Mar 21, 2022
Feb 1, 2021
Feb 1, 2023
Feb 28, 2025
Aug 26, 2024
Dec 23, 2024
Jan 4, 2025
Aug 25, 2024
Aug 25, 2024
Nov 14, 2021
Mar 21, 2022

Repository files navigation

phpstorm-stubs

official JetBrains project License Total Downloads

PhpStorm Stubs Tests PhpStorm Stubs PECL Test PhpStorm Stubs Check Links

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.

Please note that currently there are no tests for the thrown exceptions so @throws tags should be checked manually according to official docs or PHP source code

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 docker compose -f docker-compose.yml run test_runner composer install --ignore-platform-reqs
  2. Execute docker compose -f docker-compose.yml run -e PHP_VERSION=8.0 test_runner vendor/bin/phpunit --testsuite PHP_8.0

How to update stub map

Execute docker compose -f docker-compose.yml run test_runner /usr/local/bin/php tests/Tools/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