<?php
class Worker {
// An array with workers
protected $workers = array( 'salary' => 100
),
'salary' => 200
)
);
// An array of worker params
protected $current_worker;
/**
* Worker constructor.
*/
public function __construct( $job_title = 'marketer' ) {
// Check if such position exists
// Assign job title
$this->current_worker = $this->workers[$job_title];
} else {
throw new Exception( 'Passed job title does not exist!' );
}
}
/**
* Getter for worker salary
*/
public function get_worker_salary() {
// Check if salary key exists
return $this->current_worker['salary'];
} else {
return false;
}
}
}
$Vasya = new Worker( 'engineer' );
echo $Vasya->get_worker_salary();
ICAgIDw/cGhwCiAgICAKICAgIGNsYXNzIFdvcmtlciB7CiAgICAJLy8gQW4gYXJyYXkgd2l0aCB3b3JrZXJzCgkgICAgcHJvdGVjdGVkICR3b3JrZXJzID0gYXJyYXkoCgkgICAgCSdlbmdpbmVlcicgPT4gYXJyYXkoCgkgICAgCQknc2FsYXJ5JyA9PiAxMDAKCSAgICAJKSwKCSAgICAJCgkgICAgCSdtYXJrZXRlcicgPT4gYXJyYXkoCgkgICAgCQknc2FsYXJ5JyA9PiAyMDAKCSAgICAJKQoJICAgICk7CgkgICAgCgkgICAgLy8gQW4gYXJyYXkgb2Ygd29ya2VyIHBhcmFtcwoJICAgIHByb3RlY3RlZCAkY3VycmVudF93b3JrZXI7CiAgICAgCiAgICAgCS8qKgogICAgIAkgKiBXb3JrZXIgY29uc3RydWN0b3IuCiAgICAgCSAqLwogICAgCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCggJGpvYl90aXRsZSA9ICdtYXJrZXRlcicgKSAgewogICAgCQkvLyBDaGVjayBpZiBzdWNoIHBvc2l0aW9uIGV4aXN0cwogICAgCQlpZiAoIGFycmF5X2tleV9leGlzdHMoICRqb2JfdGl0bGUsICR0aGlzLT53b3JrZXJzICkgKSB7CiAgICAJCQkvLyBBc3NpZ24gam9iIHRpdGxlCiAgICAJCQkkdGhpcy0+Y3VycmVudF93b3JrZXIgPSAkdGhpcy0+d29ya2Vyc1skam9iX3RpdGxlXTsKICAgIAkJfSBlbHNlIHsKICAgIAkJCXRocm93IG5ldyBFeGNlcHRpb24oICdQYXNzZWQgam9iIHRpdGxlIGRvZXMgbm90IGV4aXN0IScgKTsKICAgIAkJfQogICAgCX0KICAgIAkKICAgIAkvKioKICAgIAkgKiBHZXR0ZXIgZm9yIHdvcmtlciBzYWxhcnkKICAgIAkgKi8KICAgIAlwdWJsaWMgZnVuY3Rpb24gZ2V0X3dvcmtlcl9zYWxhcnkoKSB7CiAgICAJCS8vIENoZWNrIGlmIHNhbGFyeSBrZXkgZXhpc3RzCiAgICAJCWlmICggYXJyYXlfa2V5X2V4aXN0cyggJ3NhbGFyeScsICR0aGlzLT5jdXJyZW50X3dvcmtlciApICkgewogICAgCQkJcmV0dXJuICR0aGlzLT5jdXJyZW50X3dvcmtlclsnc2FsYXJ5J107CiAgICAJCX0gZWxzZSB7CiAgICAJCQlyZXR1cm4gZmFsc2U7CiAgICAJCX0KICAgIAl9CiAgICB9CiAgICAgCiAgICAkVmFzeWEgPSBuZXcgV29ya2VyKCAnZW5naW5lZXInICk7CiAgICBlY2hvICRWYXN5YS0+Z2V0X3dvcmtlcl9zYWxhcnkoKTs=