phpdoc-to-typehint
phpdoc-to-typehint copied to clipboard
Add scalar type hints and return types to existing PHP projects using PHPDoc annotations
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-typesoption)
Credits
Created by Kévin Dunglas. Sponsored by Les-Tilleuls.coop.