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;