- Сделайте класс Worker, в котором будут следующие public поля - name (имя), age (возраст), salary (зарплата). Создайте объект этого класса, затем установите поля в следующие значения (не в __construct, а для созданного объекта) - имя 'Иван', возраст 25, зарплата 1000. Создайте второй объект этого класса, установите поля в следующие значения - имя 'Вася', возраст 26, зарплата 2000. Выведите на экран сумму зарплат Ивана и Васи. Выведите на экран сумму возрастов Ивана и Васи.
Worker.php
<?php
class Worker
{
public $name;
public $age;
public $salary;
}
?>
index.php
<?php
ini_set(display_errors, 1);
include('Worker.php');
$workerIvan = new Worker();
$workerIvan->name = 'Иван';
$workerIvan->age = 25;
$workerIvan->salary = 1000;
$workerVasya = new Worker();
$workerVasya->name = 'Вася';
$workerVasya->age = 26;
$workerVasya->salary = 2000;
$sumSalary = $workerIvan->salary + $workerVasya->salary;
$sumAge = $workerIvan->age + $workerVasya->age;
echo "Сумма зарплат: $sumSalary<br>";
echo "Сумма возрастов: $sumAge<br>";
?>
- Сделайте класс Worker, в котором будут следующие private поля - name (имя), age (возраст), salary (зарплата) и следующие public методы setName, getName, setAge, getAge, setSalary, getSalary. Создайте 2 объекта этого класса: 'Иван', возраст 25, зарплата 1000 и 'Вася', возраст 26, зарплата 2000. Выведите на экран сумму зарплат Ивана и Васи. Выведите на экран сумму возрастов Ивана и Васи.
Worker.php
<?php
class Worker
{
private $name;
private $age;
private $salary;
// SETERS
public function setName($name) {
$this->name = $name;
}
public function setAge($age) {
$this->age = $age;
}
public function setSalary($salary) {
$this->salary = $salary;
}
// GETERS
public function getName() {
return $this->name;
}
public function getAge() {
return $this->age;
}
public function getSalary() {
return $this->salary;
}
}
?>
index.php
<?php
ini_set(display_errors, 1);
include('Worker.php');
$workerIvan = new Worker();
$workerIvan->setName('Иван');
$workerIvan->setAge(25);
$workerIvan->setSalary(1000);
$workerVasya = new Worker();
$workerVasya->setName('Вася');
$workerVasya->setAge(26);
$workerVasya->setSalary(2000);
$sumSalary = $workerIvan->getSalary() + $workerVasya->getSalary();
$sumAge = $workerIvan->getAge() + $workerVasya->getAge();
echo "Сумма зарплат: $sumSalary<br>";
echo "Сумма возрастов: $sumAge<br>";
?>
- Дополните класс Worker из предыдущей задачи private методом checkAge, который будет проверять возраст на корректность (от 1 до 100 лет). Этот метод должен использовать метод setAge перед установкой нового возраста (если возраст не корректный - он не должен меняться).
Worker.php
<?php
class Worker
{
private $name;
private $age;
private $salary;
// SETERS
public function setName($name) {
$this->name = $name;
}
public function setAge($age) {
$this->age = $age;
if ( !$this->checkAge() ) {
echo "Неккоректный возраст '$this->name'<br>";
}
}
public function setSalary($salary) {
$this->salary = $salary;
}
// GETERS
public function getName() {
return $this->name;
}
public function getAge() {
return $this->age;
}
public function getSalary() {
return $this->salary;
}
// OTHER
private function checkAge() {
if ( $this->age >= 1 && $this->age <= 100 ) {
return true;
} else {
return false;
}
}
}
?>
index.php
<?php
ini_set(display_errors, 1);
include('Worker.php');
$workerIvan = new Worker();
$workerIvan->setName('Иван');
$workerIvan->setAge(101);
$workerIvan->setSalary(1000);
$workerVasya = new Worker();
$workerVasya->setName('Вася');
$workerVasya->setAge(26);
$workerVasya->setSalary(2000);
$sumSalary = $workerIvan->getSalary() + $workerVasya->getSalary();
$sumAge = $workerIvan->getAge() + $workerVasya->getAge();
echo "Сумма зарплат: $sumSalary<br>";
echo "Сумма возрастов: $sumAge<br>";
?>
- Сделайте класс Worker, в котором будут следующие private поля - name (имя), salary (зарплата). Сделайте так, чтобы эти свойства заполнялись в методе __construct при создании объекта (вот так: new Worker(имя, возраст) ). Сделайте также public методы getName, getSalary. Создайте объект этого класса 'Дима', возраст 25, зарплата 1000. Выведите на экран произведение его возраста и зарплаты.
Worker.php
<?php
class Worker
{
private $name;
private $age;
private $salary;
public function __construct($name = 'Дима', $age = 25, $salary = 1000) {
$this->name = $name;
$this->age = $age;
$this->salary = $salary;
}
// GETERS
public function getName() {
return $this->name;
}
public function getAge() {
return $this->age;
}
public function getSalary() {
return $this->salary;
}
}
?>
index.php
<?php
ini_set(display_errors, 1);
include('Worker.php');
$workerDima = new Worker();
$multiplication = $workerDima->getAge() * $workerDima->getSalary();
echo "Прозиведение возраста и зарплаты: $multiplication<br>";
?>
- Сделайте класс User, в котором будут следующие protected поля - name (имя), age (возраст), public методы setName, getName, setAge, getAge.
User.php
<?php
class User
{
protected $name;
protected $age;
// SETERS
public function setName($name) {
$this->name = $name;
}
public function setage($age) {
$this->age = $age;
}
// GETERS
public function getName() {
return $this->name;
}
public function getAge() {
return $this->age;
}
}
?>
- Сделайте класс Worker, который наследует от класса User и вносит дополнительное private поле salary (зарплата), а также методы public getSalary и setSalary. Создайте объект этого класса 'Иван', возраст 25, зарплата 1000. Создайте второй объект этого класса 'Вася', возраст 26, зарплата 2000. Найдите сумму зарплата Ивана и Васи. Сделайте класс Student, который наследует от класса User и вносит дополнительные private поля стипендия, курс, а также геттеры и сеттеры для них.
Worker.php
<?php
class Worker extends User
{
private $salary;
public function setSalary($salary) {
$this->salary = $salary;
}
public function getSalary() {
return $this->salary;
}
}
?>
index.php
<?php
ini_set(display_errors, 1);
include('User.php');
include('Worker.php');
$workerIvan = new Worker();
$workerIvan->setName('Иван');
$workerIvan->setAge(25);
$workerIvan->setSalary(1000);
$workerVasya = new Worker();
$workerVasya->setName('Вася');
$workerVasya->setAge(26);
$workerVasya->setSalary(2000);
$sumSalary = $workerIvan->getSalary() + $workerVasya->getSalary();
$sumAge = $workerIvan->getAge() + $workerVasya->getAge();
echo "Сумма зарплат: $sumSalary<br>";
echo "Сумма возрастов: $sumAge<br>";
?>
Student.php
<?php
class Student extends User
{
private $stipend;
private $course;
// SETERS
public function setStipend($stipend) {
$this->stipend = $stipend;
}
public function setCourse($course) {
$this->course = $course;
}
// GETERS
public function getStipend() {
return $this->stipend;
}
public function getCourse() {
return $this->course;
}
}
?>
- Сделайте класс Driver (Водитель), который будет наследоваться от класса Worker из предыдущей задачи. Этот метод должен вносить следующие private поля: водительский стаж, категория вождения (A, B, C).
Driver.php
<?php
class Driver extends Worker
{
private $experience;
private $category;
public function __construct($experience, $category) {
$this->experience = $experience;
$this->category = $category;
}
// SETERS
public function setExperience() {
$this->experience = $experience;
}
public function setCategory() {
$this->category = $category;
}
// GETERS
public function getExperience() {
return $this->experience;
}
public function getCategory() {
return $this->category;
}
}
?>
- Создайте класс Form - оболочку для создания форм. Он должен иметь методы input, submit, password, textarea, open, close. Каждый метод принимает массив атрибутов.
Form.php
<?php
class Form
{
public function printHtml($arrayAtributes, $html) {
foreach ($arrayAtributes as $key => $value) {
$html .= " $key='$value'";
}
$html .= ">";
return $html;
}
public function open($arrayAtributes) {
$html = "<form";
$html = $this->printHtml($arrayAtributes, $html);
return $html;
}
public function input($arrayAtributes) {
$html = "<input";
$html = $this->printHtml($arrayAtributes, $html);
return $html;
}
public function password($arrayAtributes) {
$html = "<input type='password'";
$html = $this->printHtml($arrayAtributes, $html);
return $html;
}
public function submit($arrayAtributes) {
$html = "<input type='submit'";
$html = $this->printHtml($arrayAtributes, $html);
return $html;
}
public function close() {
return "</form>";
}
}
?>
index.php
<?php
ini_set(display_errors, 1);
include('Form.php');
$form = new Form();
echo $form->open(['action'=>'index.php', 'method'=>'POST']);
echo $form->input(['type'=>'text', 'placeholder'=>'Ваше имя', 'name'=>'name']);
echo $form->password(['placeholder'=>'Ваш пароль', 'name'=>'pass']);
echo $form->submit(['value'=>'Отправить']);
echo $form->close();
?>