Laravelは、開発効率を向上させるためにモデルレイヤーで雄弁、プレゼンター、キャストなどのメカニズムを提供する強力なPHP Web開発フレームワークです。その中で、キャスト機能は特に実用的であり、データベース内のフィールドを指定されたPHPタイプに自動的に変換できるため、データ処理がより便利でコードクリーナーになります。
この記事では、Laravel 5.6を例に挙げています。デフォルトでは、モデル、移行、職人コマンドの使用など、Laravelの特定の基本的な知識が既にあります。
最初に、職人コマンドを使用して、モデルとその関連リソースを作成します。
PHP Artisan Make:Model Post -A
このコマンドは、 Postという名前のモデルを生成し、対応する移行ファイル、コントローラー、およびリソースビューを自動的に作成し、後続の操作の基礎を築きます。
Laravelが提供する$ CASTSプロパティにより、モデルプロパティを特定のデータ型に簡単に変換できます。以下を投稿モデルに追加します。
守るされた$ casts = [ 「公共」=> 'boolean'、 ];
上記の定義により、Laravelはモデルが公開されたプロパティにアクセスすると、自動的にブール値に変換します。
検証のために職人のティンカーツールを使用できます。
$ post = new post; $ post-> published = 1; $ post-> toarray();
出力の結果では、公開されたフィールドがTrueとして表示され、型変換の効果が検証されます。
内蔵タイプの使用に加えて、Laravelを使用すると、カスタム変換ロジックを作成することもできます。たとえば、UNIXタイムスタンプを自動的にDateTimeオブジェクトに変換します。
カーボン\炭素を使用します。 守るされた$ casts = [ 'publided_at' => 'Datetime'、 ]; public function setPublishedAttribute($ value){ $ this-> attributes ['publided_at'] = carbon :: createfromtimestamp($ value); }
このようにして、整数のタイムスタンプが外部インターフェイスから取得されたとしても、Laravel認識可能な日付オブジェクトに自動的に変換され、データ処理の柔軟性を大幅に改善できます。
Laravelのキャスト機能は、データ型変換のプロセスを大幅に簡素化します。ブール値、整数、日付、またはより複雑なカスタムタイプであろうと、 $キャストを構成することで自動的に変換できます。これにより、重複コードが削減されるだけでなく、モデルの保守性も向上します。
キャストの使用をマスターすると、開発者がデータをより効率的に処理し、間違いを減らし、速く書き、開発プロセス中に着実に変更を加えることができます。