PHPDoc to Type Hint
Archived! This repository is now archived. Consider using PHP CS Fixer (and especially the phpdoc_to_param_type
and phpdoc_to_return_type
rules) or Rector instead.
phpdoc-to-typehint
adds automatically scalar type hints and return types to all functions and methods of a PHP project using existing PHPDoc annotations.
Warning: this project is an early stage of development. It can damage your code. Be sure to make a backup before running this command and to run your test suite after.
Please report any bug you find using this tool.
Install and usage
- Download the latest PHAR file
- Run
php phpdoc-to-typehint.phar <your-project-directory>
Your project should have scalar type hints and return type declarations.
Before:
<?php
/**
* @param int|null $a
* @param string $b
*
* @return float
*/
function bar($a, $b, bool $c, callable $d = null)
{
return 0.0;
}
After:
<?php
/**
* @param int|null $a
* @param string $b
*
* @return float
*/
function bar(int $a = null, string $b, bool $c, callable $d = null) : float
{
return 0.0;
}
Features
Supports:
- functions
- methods of classes and traits
- method definitions in interfaces
- PHPDoc inheritance
- PHP 7.1 nullable types (can be disabled with
--no-nullable-types
option)
Credits
Created by Kévin Dunglas. Sponsored by Les-Tilleuls.coop.