質問: 【php】set・getの使用について 質問させていただきます。 phpではset等プロパティ宣言をしなくても動作はしますが、皆様はphpで開発する際に使用する変数等全てアクセサを介して使用しているのでしょうか? もし、アクセサを介す場合、直変数で使用する場合など分けていらっしゃる方がいるのであれば、 どういうメリット等からそのような方法を採用されているのか教えていただけると助かります。 何卒よろしくお願い致しますm(_ _)m
回答: 基本的に業務で行う場合は全部アクセサを設けています。 どんな時でも、メンバ変数をpublic宣言することはしません。 クラス設計として良しとされない方法論は取りません。 大したアクセス数を望めないもの(主にプライベートなもの)はマジックメソッドで処理してます。 それでも、値の設定を行う場合などに特定の条件下でないとセットされないなどの、 制御を必要とする場合はアクセサを個別に実装します。 メンバ変数をpublicにして直接アクセスしようとする実装方法は、単に正しい設計を 無視しためんどくさがり屋か、チームや他社との共同開発経験が浅かったり、 利用側に好き勝手された経験が少ない人だと思います。 多分。 メンバ変数の直接操作におけるメリットは、『生産性は最も高い』でしょう。 その分、その人しかいじれない怖いソースになると思いますが。