LoginSignup
0
0

More than 1 year has passed since last update.

アクセス権を使い分けてみよう

Last updated at Posted at 2019-03-19

未来電子テクノロジーでインターンをしているりくです。

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とか)
もし、誤りや無駄な文があれば修正するので、指摘してくれると助かります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0