• ベストアンサー

【PHP】set・getの使用について

質問させていただきます。 PHPではset等プロパティ宣言をしなくても動作はしますが、皆様はPHPで開発する際に使用する変数等全てアクセサを介して使用しているのでしょうか? もし、アクセサを介す場合、直変数で使用する場合など分けていらっしゃる方がいるのであれば、 どういうメリット等からそのような方法を採用されているのか教えていただけると助かります。 何卒よろしくお願い致しますm(_ _)m

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

基本的に業務で行う場合は全部アクセサを設けています。 どんな時でも、メンバ変数をpublic宣言することはしません。 クラス設計として良しとされない方法論は取りません。 大したアクセス数を望めないもの(主にプライベートなもの)はマジックメソッドで処理してます。 それでも、値の設定を行う場合などに特定の条件下でないとセットされないなどの、 制御を必要とする場合はアクセサを個別に実装します。 メンバ変数をpublicにして直接アクセスしようとする実装方法は、単に正しい設計を 無視しためんどくさがり屋か、チームや他社との共同開発経験が浅かったり、 利用側に好き勝手された経験が少ない人だと思います。 多分。 メンバ変数の直接操作におけるメリットは、『生産性は最も高い』でしょう。 その分、その人しかいじれない怖いソースになると思いますが。

MAS-B
質問者

お礼

ご回答ありがとうございます。 とても納得できました。一人で開発を行う環境なものですから、 実際に『生産性が最も高い』方法で開発を行っておりました。。 現在はメンバ変数をprivateな環境に変えつつありますが、 どの範囲までアクセサを設けるべきなのかどうか等を考える様になり、質問させていただきました。 PHPは直接操作でも中途半端に動いてしまうので、良い様に言えばお手軽ですが、 ソースが手に負えなくなる可能性の高い言語ですね。 ありがとうございましたm(_ _)m

関連するQ&A