swoole / ide-helper
IDE help files for Swoole.
Requires
None
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- dev-master
- 6.2.2
- 6.2.1
- 6.2.0
- 6.1.x-dev
- 6.1.10
- 6.1.9
- 6.1.8
- 6.1.7
- 6.1.6
- 6.1.5
- 6.1.4
- 6.1.3
- 6.1.2
- 6.1.1
- 6.1.0
- 6.0.2
- 6.0.1
- 6.0.0
- 6.0.0-rc1
- 6.0.0-alpha
- 5.1.x-dev
- 5.1.8
- 5.1.7
- 5.1.6
- 5.1.5
- 5.1.4
- 5.1.3
- 5.1.2
- 5.1.1
- 5.1.0
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0
- 5.0.0-alpha
- 4.8.x-dev
- 4.8.13
- 4.8.12
- 4.8.11
- 4.8.10
- 4.8.9
- 4.8.8
- 4.8.7
- 4.8.6
- 4.8.5
- 4.8.4
- 4.8.3
- 4.8.2
- 4.8.1
- 4.8.0
- 4.7.1
- 4.7.0
- 4.6.7
- 4.6.6
- 4.6.5
- 4.6.4
- 4.6.3
- 4.6.2
- 4.6.1
- 4.6.0
- 4.6.0-beta
- 4.6.0-alpha
- 4.5.x-dev
- 4.5.11
- 4.5.10
- 4.5.9
- 4.5.8
- 4.5.7
- 4.5.6
- 4.5.5
- 4.5.4
- 4.5.3
- 4.5.3RC1
- 4.5.3-beta
- 4.5.3-alpha
- 4.5.2
- 4.5.1
- 4.5.0
- 4.5.0RC1
- 4.4.x-dev
- 4.4.25
- 4.4.24
- 4.4.23
- 4.4.22
- 4.4.21
- 4.4.20
- 4.4.19
- 4.4.18
- 4.4.17
- 4.4.16
- 4.4.15
- 4.4.14
- 4.4.13
- 4.4.12
- 4.4.8
- 4.4.7
- 4.4.6
- 4.4.5
- 4.4.4
- 4.4.3
- 4.4.0
- 4.3.4
- 4.3.3
- 4.3.2
- 4.3.1
- 4.3.0
This package is auto-updated.
Last update: 2026-09-15 17:27:36 UTC
README
Swoole is a PHP extension written in C/C++, so its classes, functions, and constants don't exist as PHP source code anywhere in your project. Without help, your IDE can't see them: no autocompletion, no parameter hints, no inline documentation, and plenty of "undefined class" warnings.
This package fixes that. It provides fully documented stub files for everything Swoole exposes — every class, method, function, and constant, with accurate signatures, native type declarations, and PHPDoc descriptions. Once it's installed, IDEs like PhpStorm and VS Code (with a PHP language server such as Intelephense) pick up the stubs automatically and give you the same editing experience you'd get with a pure-PHP library.
The stubs contain no executable logic — every method body is empty — so the package has zero runtime footprint.
Installation
Install it with Composer as a dev dependency:
composer require --dev swoole/ide-helper
Since the package is only there to assist your IDE, it doesn't belong in production; --dev keeps it out of
composer install --no-dev deployments.
Match the version to your Swoole extension
Releases of this package mirror Swoole releases: version 6.0.2 of this package documents Swoole v6.0.2. For the
most accurate results, pin the package to the Swoole version you actually run. You can check your installed version
with:
php --ri swoole | grep Version
Then require the matching release, e.g.:
composer require --dev swoole/ide-helper:~6.0.2
To use the latest unreleased stubs from the master branch instead:
composer require --dev swoole/ide-helper:@dev
Best practices
- Keep it a dev dependency. The stubs are for your editor only. They declare no autoloading and execute nothing, but there's still no reason to ship them to production.
- Upgrade the helper when you upgrade Swoole. Signatures and available symbols change between Swoole releases; a mismatched helper version means your IDE may suggest methods that don't exist in your runtime (or miss ones that do).
- PhpStorm users: disable the bundled Swoole stubs. PhpStorm ships its own (less complete) Swoole stubs, which
conflict with this package and cause "multiple definitions exist" warnings. Go to Settings → PHP → Stubs and
deselect
swoole, so this package becomes the single source of truth. - Don't
require/includethe stub files. If the Swoole extension is loaded, redefining its classes would fail; if it isn't, empty method bodies would do nothing useful anyway. Just let Composer install the package and let your IDE index it.
What's included
src/swoole/— stubs for everything implemented in C/C++ by the Swoole extension:- all classes under the
Swoole\namespace (one file per class, e.g.Swoole\Coroutine\Http\Client); - global
swoole_*()functions; SWOOLE_*constants;- short class aliases like
Co\Channel(active when theswoole.use_shortnameini directive is on).
- all classes under the
src/swoole_library/— the PHP source of Swoole Library, the userland companion code that ships inside the extension (loaded whenswoole.enable_libraryis on). Included so your IDE can index these classes too.
PHP configuration settings
Swoole's behavior can be tuned with the following ini directives:
swoole.display_errors: Boolean. DefaultOn. Display/hide error information from Swoole.swoole.enable_coroutine: Boolean. DefaultOn. Turn on/off coroutine support.swoole.enable_library: Boolean. DefaultOn. Load the source code from Swoole Library or not.swoole.enable_preemptive_scheduler: Boolean. DefaultOff. Enable preemptive scheduler or not. To understand how it works, please check examples under section "CPU-intensive job scheduling" of repository deminy/swoole-by-examples.swoole.unixsock_buffer_size: Integer (in bytes). By default, it's 256 KiB on Macintosh or FreeBSD, otherwise 8 MiB. The total buffer sizes for the socket connections between the master process and the worker processes in Swoole.swoole.use_shortname: Boolean. DefaultOn. Support short names or not. Short names are all the aliases listed in file src/swoole/shortnames.php.
All the directives can be set anywhere except swoole.use_shortname, which can only be set in php.ini files.