skillup

技術ブログ

PHP

Traitによるコードの再利用

投稿日:

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

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

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

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

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

sampleTrait.php(Traitそのもの)

SampleClass.php()

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

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

-PHP
-

執筆者:


comment

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

関連記事

no image

Shift_JISの5C問題について 全角ハイフンでエスケープ

エンジニアであればだれもが頭を悩ませる文字コード。 私も初期のころはこれのせいでデータが入らないとかおかしくなるなんてことがさんざんありました。 今でも文字コードに遭遇することはあるんですが大体のパタ …

no image

php-fpmに関して

今回はphp-fpmに関して。会社のサーバー(このブログが載っているサーバー)がこれ使ってて、メモリをやたら消費しており、設定を見直す必要があったので、リサーチ。 Contents1 php-fpmと …

no image

ECCUBE3ディレクトリ構成

ECCUBE3のディレクトリ構造に関して。 自分用 自分用メモです。 設定情報 /app/config/eccube 定数 /src/Eccube/Common/Constant ログ /app/lo …

no image

mb_convert_encodingに関して(文字コードの自動検出やその周辺)

以前Perlでもやりましたが、文字コードの自動検出に関して。 ちなみにcp932=SJIS-WINです。 参考リンク Perlでの動的改行コード読み込みに関して+cp932ネタ PHPの場合、mb_d …

no image

guzzle

サイトへのログイン認証などHTTPアクセスを行うライブラリではHTTP2_requestが有名かと思いますが、すでに開発がとまっていることもあり、最近はguzzleというライブラリが使われているようで …

アーカイブ