spatie/laravel-typescript-transformer

将 PHP 结构转换为 TypeScript 类型

2.4.1 2024-05-03 08:00 UTC

This package is auto-updated.

Last update: 2024-09-03 08:42:24 UTC


README

将 PHP 类型转换为 TypeScript

Latest Version on Packagist GitHub Tests Action Status Styling Psalm Total Downloads

是否总是希望在没有大量代码重复的情况下,在 PHP 和 TypeScript 中拥有类型安全?那么您会喜欢这个包!比如说,您有一个枚举

class Languages extends Enum
{
    const TYPESCRIPT = 'typescript';
    const PHP = 'php';
}

如果您能有一个像这样的自动生成的 TypeScript 定义,那岂不是很酷?

export type Languages = 'typescript' | 'php';

这个包会自动为您生成这样的定义,您需要做的只是添加这个注释

/** @typescript **/
class Languages extends Enum
{
    const TYPESCRIPT = 'typescript';
    const PHP = 'php';
}

您甚至可以更进一步,从类生成 TypeScript

/** @typescript */
class User
{
    public int $id;

    public string $name;

    public ?string $address;
}

这将被转换为

export type User = {
    id: number;
    name: string;
    address: string | null;
}

想了解更多?您可以在这里找到文档 这里

测试

composer test

变更日志

请参阅 CHANGELOG 了解最近更改的详细信息。

贡献

请参阅 CONTRIBUTING 了解详细信息。

安全

如果您发现了关于安全的 bug,请通过 [email protected] 发送邮件,而不是使用问题跟踪器。

致谢

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件