* Keywords explanation * format better... add more info title + move link to it make a list of info under note
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: PHP - Class
 | |
| ---
 | |
| 
 | |
| ### Simple Class for Beginner!
 | |
| 
 | |
| ```php
 | |
| class Lab { // class keyword is mandatory identifier for class creation, after class keyword goes the name of the class(e.g. Lab)
 | |
|   private $name = ''; // $name is instance variable, which means that every instantiated object has it's own copy of variable $name
 | |
| 
 | |
|   public function setName($name) { // function setName is setter function that sets the value of instance variable $name 
 | |
|     $this->name = $name; // because $name is the name of both instance variable and function parameter, we use $this keyword 
 | |
|   } 
 | |
| 
 | |
|   private function getName() { // getName is getter function that returns the value of instance variable $name 
 | |
|     return $this->name;
 | |
|   }
 | |
| 
 | |
|   public function say_my_name() {
 | |
|     $name = $this->getName();
 | |
|     return $name;
 | |
|   }
 | |
| 
 | |
| }
 | |
| $breaking_bad = 'Heisenberg';
 | |
| $lab = new Lab(); // keyword new creates instance of Lab class, variable $lab points to that instance
 | |
| $lab->setName($breaking_bad); // $lab variable that points to Lab instance calls setter function setName with $breaking_bad as parameter
 | |
| echo "My Name is " . $lab->say_my_name(). "!";
 | |
| ```
 | |
| 
 | |
| 
 | |
| **Note**: 
 | |
| The keywords *private* and *public* define the visibility of the property or the method. 
 | |
| 
 | |
| - Class members declared public can be accessed everywhere.
 | |
| - Members declared as private may only be accessed by the class that defines the member.
 | |
| 
 | |
| ### More Information
 | |
| [visibility documentation](http://php.net/manual/en/language.oop5.visibility.php)
 |