在開發過程中,常常需要在 php 和 typescript 之間共享數據結構,確保類型安全卻又不想重復編寫代碼,這一直是個挑戰。最近,我在處理一個項目時遇到了這個問題:需要在 php 中定義的數據結構能夠自動生成對應的 typescript 類型定義。經過一番探索,我找到了 spatie/laravel-typescript-transformer 這個庫,它完美地解決了我的問題。
spatie/laravel-typescript-transformer 是一個 Laravel 包,它可以將 PHP 中的類和枚舉自動轉換為 TypeScript 類型定義。這意味著你可以在 PHP 中定義數據結構,只需添加一個簡單的注釋,就能自動生成對應的 TypeScript 類型定義,從而在兩個語言之間實現類型安全。
使用這個庫非常簡單,只需通過 composer 安裝:
composer require spatie/laravel-typescript-transformer
接下來,在你的 PHP 類或枚舉上添加 @typescript 注釋,例如:
/** @typescript **/ class Languages extends Enum { const TYPESCRIPT = 'typescript'; const PHP = 'php'; }
這個 PHP 枚舉將自動生成以下 TypeScript 類型定義:
立即學習“PHP免費學習筆記(深入)”;
export type Languages = 'typescript' | 'php';
對于類也是如此:
/** @typescript */ class User { public int $id; public string $name; public ?string $address; }
將生成:
export type User = { id: number; name: string; address: string | null; }
這個庫不僅節省了大量重復的工作,還確保了類型定義的一致性和準確性,大大提升了開發效率和代碼質量。如果你也面臨著在 PHP 和 TypeScript 之間共享數據結構的問題,spatie/laravel-typescript-transformer 絕對是一個值得嘗試的解決方案。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦