PHPのクラスの継承

By ttakao, 2016年10月14日

PHPの紹介で、クラスの継承というとメソッドのオーバーライドの例しか見たことがない気がする。

ここんところCode Igniterでモデル(MVCでいうモデル)を作っていたが、データを暗号化する必要が出てきた。

こわごわ、メソッドを書いて読み取りの時は

みたいな感じで、読み出してデータを復号する部分を書いた。
つまり、メソッドの継承。

書き込みの時は引数のデータを暗号化してから親のメソッドを呼んだらあっさりできてしまった。

コンストラクターの継承以外もできて当たり前だよな。

ただし、同名で継承したメソッドの引数は親と同じにしておかないとPHPに怒られる。

もともとCoge Igniterでモデルクラスを書く時は、DBの基本的なアクセスを実装したMY_Model.phpをcoreに入れて継承して使っているんだけど。(モデル名をデフォルトでテーブル名とみなすのがミソ)

オブジェクト指向って便利だなあとありがたみを感じました。

What do you think?

コメントを残す

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