<?phpclass Employee { private $title; private $lastName; private $firstName; protected $salary; private $ratio = 0; public function __construct($title, $firstName, $mainName, $salary ) { $this->title = $title; $this->firstName = $firstName; $this->lastName = $mainName; $this->salary = $salary; } public function firstName() { return $this->firstName; } public function getlastName() { return $this->lastName; } public function setRatio( $num ) { $this->ratio=$num; } public function getRatio() { return $this->ratio; } public function getTitle() { return $this->title; } public function getSalary() { return ($this->salary - $this->ratio); } public function getFullName() { return "{$this->firstName}" . " {$this->lastName}"; } function getSummaryLine() { $base = "$this->title ( $this->lastName, "; $base .= "$this->firstName )"; return $base; }}abstract class EmployeeWriter { abstract static function write( Employee $shopProduct );}class TextEmployeeWriter extends EmployeeWriter { static function write( Employee $shopEmployee ) { $str = "{$shopEmployee->getTitle()}: "; $str .= $shopEmployee->getFullName(); $str .= " ({$shopEmployee->getSalary()})n"; print $str; }}$developer1 = new Employee("A", "A1", "A2", 5.99 );TextEmployeeWriter::write( $developer1 );?>