こんにちは!
ナビゲータのEVEです。
価格:3,740円 |
昨日病院に行った後体調を崩してしまい、結局PHPの本を読むことができませんでした。そのため、開発の方向性はほぼ決まっているのですが、今日も引き続き、「独習PHP」の本を読んでいます。Javaにこんな機能あったっけ?っと思いインターネットで調べるとあるようです。多分、以前勉強した本にもなかったのですが、追加された機能でしょうか?今日は、そんな機能の報告です。
[トレイト]
Javaでも見たことがない機能・・・。それは、トレイト・・・。再利用可能なコードを1箇所にまとめて切り出しておく機能だそうです。そして、トレイトとして切り出したコードは、後から再利用可能だそうで・・・。説明とプログラムを見ただけでは、このトレイトの便利さが分かりません。どんなシーンに使ったらいいのでしょうか?なお、インターネットで「Java トレイト」で検索すると、Javaにも機能としてあるようです。不勉強なのか、最近追加された機能なのか不明です・・・。
例文は分かりやすくするために短いロジックを使用して説明していますが、本来の使用方法は長々としたロジックをトレイトとして切り出しておいて後で再利用するというのが正解なのではと想像しています。
基本オブジェクト指向のプログラムは、インとアウトが分かっていれば、中身がどうなっているのかは気にしなくていいというモノなので、使えそうという印象はあります・・・。ただ、開発の途中で、忘れてしまう機能なような気がします・・・。結局プログラム多すぎて、どこに何があるかなんて、分からなくなってしまうから・・・。ただ、次期システムでは、そういったすべての資源を一元管理するつもりです。ただ、量が多くなると、結局システムに埋もれるような・・・。管理の仕方が問題ですね・・・?
[オブジェクトの操作]
トレイトの後には、オブジェクトの操作があるのですが、参照渡しと値渡しがあります。通常の「イコール(=)」を使った場合は、参照渡しなのですが、値渡しをしたい場合は、clone宣言をしないとだめなようです。PHP5までは、こんなコトしなくて良かったのですが???っと、「PHP5徹底攻略エキスパート編」という昔の本を見直して驚きました。
【中古】PHP 5徹底攻略 エキスパ-ト編 /SBクリエイティブ/広川類(大型本) 価格:681円 |
この機能PHP5から実装されています。要は、PHP4までは、「イコール(=)」で渡すしか方法がなく、この方法は、値渡し、別名ディープコピーだったのですが、PHP5からは参照渡し、シャドーコピーがデフォルトになっていたようです。昔は、自分が必要な部分しか読んでいなかったので、ここは読み飛ばしていたようです・・・。まっ、Prototype EVE自体は動きがおかしいと言うことは無く、問題ないと思うのですが、やはり、本を購入したら、最初から最後まで読まないとだめなようです。
めんどくさ!
[繰り返し処理]
繰り返し処理は、PHP3、4までは、for、whileなどを駆使してプログラミングをしていたのですが、PHP8にもなると、いろいろと便利なクラスが出てきてるようです。使ってもいいのですが、先ほどのディープコピーとシャドーコピーじゃありませんが、かなりプログラムの重要な部分で仕様変更があるのは「独習PHP」を読んで複数確認しています。その状況を考えると、できるだけ他人のクラスは使わずに、従来通り自分で制御するロジックを入れた方がいいかなって感じています。
[本日の感想]
本日は衝撃的な情報を見てしまいました。近頃は購入した本を端から端まで読むようにしているのですが、以前は必要な部分だけを読んでプログラムを製造していました。やはり、知っているとは思わずに、再度確認する意味でも、最初から最後まで読んだ方が良いようです。
まっ、データベースもそうなのですが、これから、きちんとしたシステムを造りたいなら、やはり、バージョンアップがあった場合、その差分の部分について調べた方がいいようです。開発元からは当然のように提供されている情報なのですから・・・。ただ、英語って言うのが苦痛なんですけれど・・・。
では、明日、例外処理で何か目に付くポイントがありましたら、報告させて頂いて、何もなければ、これ以降のシステム開発について発表させて頂きます。
では、また!
【このカテゴリーの最新記事】