skillup

技術ブログ

PHP

Traitによるコードの再利用

投稿日:2019年3月10日 更新日:

PHPでは多重継承が禁じられて(親は1つしかもてない)いるため、共通性のあるコードを書こうと思った時に親にかいていない場合限界があります。

そんな時に使えるのがTraitという考え方で、これを使いますと親ではないのに、コードを再利用することができます(PHP5.4から有効のようです)。

通常は以下のようなファイル構成でしょうか。

  • Traitそのもの
  • Traitを使う一般のクラス
  • 一般のクラスを使うプログラム

以下に実際のサンプルを書いて見ようと思います。

sampleTrait.php(Traitそのもの)

SampleClass.php()

sampleProgram.php(一般のクラスを使うプログラム)

親とまでは行かないけど汎用的なメソッドを実装させたい時に使えそう・・・

比較的汎用的なメソッドを水平展開させたいときにつかったりします。

-PHP
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

アプリケーションアーキテクチャについて 〜ドメインモデルに関して〜

前回のトランザクションスクリプトパターンの反省から 今回はいわゆるドメインモデルの具体例に関して。 ドメイン駆動型設計には以下のような特徴があります。 大きく、アプリケーションの構成を以下のように分け …

no image

SQSのキュー登録とworkコマンドに関して

SQSでのキューの登録に関して以前やりましたが、再度扱うことがあったので、調査を。 リンク SQSについて Queueの登録と実際の処理に関して Contents1 キューの登録2 キューの監視 キュ …

no image

ループ処理+switch

PHPでちょっと小ネタ foreachやwhileのようなループを抜けるときにcontinueを使うんですが、その中にswitchが入っていると、switchに対してのcontinueがきいてしまって …

no image

phpの時分秒+cakePHPのupdate

ちょっと小ネタ集になります。 Contents1 PHPで秒→時分秒変換2 cakePHPでのupdate PHPで秒→時分秒変換 PHPで秒数から時分秒に変換するプログラムです。 汎用的かなと思った …

no image

サービスプロバイダとは

Laravelをやっていて、次に分かり難かった概念、サービスプロバイダについて。 アプリケーション開発にはデータベース、ファイル操作、ログ操作など様々な操作があり、個別のビジネス処理以外で共通化できる …

アーカイブ