typhp is a simple tool checks whether type hint for arguments or return type declared. Unlike static analysis tools, it doesn't point out possible errors and issues but suggests typehint everything possible.
- Who works projects using PHP 7.1 and higher.
- Who doesn't want to point out missing type hint and return type declarations in code review process by using it as part of CI pipeline.
- Who love strict typing and defensive programming.
- Respects phpdoc; there are some rare cases mixed or compound types are needed. If such cases documented in phpdoc,
typhpdoesn't complain. For example:
@param mixed $foo, etc.
- Takes magic methods into account.
- Analyses based on configuration. Include/exclude files and directories to be analysed. For optional config file, see the current project example
- Does NOT modifies your code
There are several ways to install
typhp. The recommended one is to use phar distribution. Thus you won't have possible dependency conflict.
Direct download from the latest Github release
wget https://github.com/seferov/typhp/releases/download/v0.2.0/typhp.phar -O typhp chmod +x typhp
You can install phar distribution by Phive
phive install seferov/typhp --global
typhp can be installed by composer globally.
composer global require seferov/typhp
If you prefer, you can it add dev dependency to your project.
composer require require seferov/typhp --dev
typhp analyse path
If config file (
.typhp.yml) is present in project root, it can be run just by
Check by PHP version. For example, don't suppress
@param objectfor >= PHP 7.2
Auto deploy phar file to release assets & add self-update command
Since it is a beta release, there might be some issues. If you found one, please submit it here