Wednesday, 4 June 2014

Access control modifiers in php


There are a number of special keywords you can place before a class, a class function definition, or a class variable to alter the way PHP works with it - here's the full list, along with what each of them does:
  • Public: This variable or function can be used from anywhere in the script
  • Private: This variable or function can only be used by the object it is part of; it cannot be accessed elsewhere
  • Protected: This variable or function can only be used by the object it is part of, or descendents of that class
  • Final: This variable or function cannot be overridden in inherited classes
  • Abstract: This function or class cannot be used directly - you must inherit from them first
That is just a vague description of what each of them do - to make sure you fully understand each of them, here are examples:




<?php


class Example {
    public $a = 1;
    protected $b = 2;
    private $c = 3;
    
    function show_abc()
{
        echo $this -> a ;
        echo $this -> b;
        echo $this -> c;
    }
}

$example = new Example();


echo "Publc a: {$example->a}<br/>";
//echo "Protected b: {$example->b}<br/>";
//echo "Private c: {$example->c}<br/>";


$example->show_abc();



?>

No comments:

Post a Comment