未来電子テクノロジーでインターンをしているりくです。
PHPⅢを学んだ際に新たな「アクセス権」についての説明があったので、使い分けをしてみようと思います。
public編
書き方は以下の通りです。
public $name
これでプロパティが定義されました。
一度定義すればどこからでもアクセスが可能です。(別のファイルにある場合はrequire_once()を忘れずに書き込んでください)
private編
次にprivateについてです。
書き方は以下の通りです。
private $name
これでプロパティが定義されました。
しかし、pubicと違宇点があります。
それは「クラスの外部からアクセスできない」ことです。
どういうことかというと、
class Rain{
private $Umbrella
}
$please = new Rain('傘をくれ');
echo $please->umbrella
これがエラーになるということです。
こんなの何の役に立つのかというと、外部から変更できないようにするためです。
例えば、通販サイトで書かれている金額があるとします。
これを、購入する側が設定できたら困りますよね。
それを防ぐために一部制限をするためにprivateがあります。
protected編
最後に今回新たに学んだprotectedについてです。
書き方は以下の通りです。
protected $name
これでプロパティが定義されました。
privateとの違いは、親クラスで定義した場合子クラスにも定義されることです。
つまり、
rain.php
class Rain{
protected $Umbrella
please.php
class Please extends Rain{
public function __construct($Umbrella){
$this->umbrella = $umbrella
}
}
このようなことができます。
まとめ
以上、アクセス権のまとめでした。
- public
- どこからでもアクセス可能
- private
- そのクラス内からのみアクセス可能
- protected
- そのクラスと子クラス内からのみアクセス可能
それぞれの特徴を理解して使うとやりやすいと思います。(基本はprivateで、get○○でpublicとか)
もし、誤りや無駄な文があれば修正するので、指摘してくれると助かります。