search icon

access modifiers – PHP

access modifiers bruges til at sætte scope for properties og methods. Der bruges 3 modifiers:

Public

public gør det muligt at tilgå en property eller en method ude fra objektet. Dvs, at man kan skrive direkte ned i dem som vist i eksemplet her under

<?php
class Product{
  public $price;
}

$shirt = new Product;
$shirt->price = 200;

Hvis $price ikke havde været public, men i stedet protected eller private ville ovenstående eksempel give en fejl.

Protected

Hvis en modifier er sat til protected kan den angivne property eller method ikke bruges uden for objektet. I eksemplet her under er $price sat til protected. Så er man nødt til f.eks. at have en public method, der kan indsætte data i $price

<?php 
class Product {
  protected $price;

  public set_price($newPrice){
    $this->price = $newPrice;
  }
}

$shirt = new Product;
$shirt->set_price(200);

Private

Er en access modifier sat til private er den angivne property eller method kun tilgængelig i den klasse / det objekt den er i. Modsat protected, så vil et private-element ikke være tilgængelig i en klasse / et objekt, der er nedarvet fra klassen, hvor elementet er defineret.

<?php
  class Product {
    private $price;
  }

  class Clothes extends Product {

  }

  $shirt = new Clothes;

  //Næst linje giver en fejl da $price ikke er tilgængelig i klassen Clothes
  echo $shirt->price;

Skriv et svar

Verified by MonsterInsights