brenno-duarte/phpdeprecated

PHP组件,用于在项目中搜索已废弃的资源,例如类、特质、枚举等

1.2.0 2024-09-12 22:16 UTC

This package is auto-updated.

Last update: 2024-09-12 22:38:00 UTC


README

PHP组件,用于在项目中搜索已废弃的资源,例如类、特质、枚举等。此组件还会搜索已废弃的子类。

需求

  • PHP >= 8.3

安装

composer require brenno-duarte/phpdeprecated

如何使用

要使用此组件,假设你有一个名为User的类。但是,你想停止使用此类。你必须将Deprecated属性添加到此类

<?php

use Deprecated\Deprecated;

#[Deprecated()]
class User
{
}

这样,此类将被标记为已废弃。你可以在属性构造函数中添加消息,也可以添加类被废弃的日期。

<?php

use Deprecated\Deprecated;

#[Deprecated("use other class", "2024-06-01")]
class User
{
}

你可以将此属性添加到类、特质、属性、接口和方法中。

示例

<?php

use Deprecated\Deprecated;

#[Deprecated()]
class User
{
    #[Deprecated(since: '2024')]
    const USER = '';

    #[Deprecated(since: '2024')]
    private string $name;
    
    #[Deprecated('Use another method instead', 2024)]
    public function method1()
    {
    }
}

检查已废弃的资源

要检查是否存在带有Deprecated属性的已废弃资源,只需在终端中运行以下命令

vendor/bin/phpdeprecated <directory>

<directory>替换为你想要搜索已废弃资源的目录名称。最终结果将类似于下面的图片

php deprecated component

使用@deprecated

此组件也支持包含@deprecated的注解。但是,它不支持类似Deprecated属性的消息。

此组件将首先搜索Deprecated属性,如果没有找到,它将搜索@deprecated注解。

示例

<?php

use Deprecated\Deprecated;

/**
 * @deprecated
 */
#[Deprecated()]
class User
{
    /**
     * @deprecated
     */
    #[Deprecated(since: '2024')]
    const USER = '';

    /**
     * @deprecated
     */
    #[Deprecated(since: '2024')]
    private string $name;
    
    /**
     * @deprecated
     */
    #[Deprecated('Use another method instead', 2024)]
    public function method1()
    {
    }
}

你可以同时使用(Deprecated属性和@deprecated注解)。然而,出于代码可读性的考虑,建议使用属性而不是注解。