<?php /** * Created by PhpStorm. * User: Yuri * Date: 21.11.15 * Time: 19:52 */ class User { public $name = 'Aaa'; public $login = '******'; public $password = '******'; } class SuperUser extends User { public $role; public function showInfo() { if (!empty($this->role) && $this->role != ' ' && $this->role === 'admin1') { echo 'You name: ' . $this->name . '. You login: '******'. You password: '******' You role: ' . $this->role . '.<br><br>'; } else { echo 'Введите роль, соответсвующию заданию!11Пыщь-пыщь'; } } } $user1 = new SuperUser(); $user1->role = 'admin1'; $user1->showInfo();
- В классе User опишите метод __clone() - Метод __clone() должен задавать начальные значения свойств по умолчанию при копировании объектов - Значения свойств по умолчанию: name = "Guest", login = "******", password = "******" - Создайте четвёртый объект скопировав один из имеющихся объектов */ /* ЗАДАНИЕ 5 - Опишите класс SuperUser наследованный от класса User - В классе SuperUser опишите свойство role и создайте объект, экземпляр класса SuperUser - Задайте значение свойству role = "admin" - Вызовите метод showInfo() для созданного объекта - Отдельно от метода showInfo() выведите значение свойства role */ /* ЗАДАНИЕ 6 - Опишите конструктор класса SuperUser, который будет задавать начальные значения свойств - В классе SuperUser опишите метод showInfo(), который будет выводить на экран значения всех свойств - Создайте заново объект класса SuperUser и вызовите метод showInfo(). */ /* ЗАДАНИЕ 7 - Измените конструктор класса SuperUser, вызвав родительский конструктор - Передайте родительскому конструктору необходимые значения - Измените метод showInfo() класса SuperUser, вызвав родительский метод showInfo() - Передайте родительскому методу необходимые значения */ /* ЗАДАНИЕ 8 - Сделайте все параметры конструктора класса User параметрами по умолчанию со значениями "пустая строка"("") - В конструкторе класса User генерируйте исключение, если введены не все данные - Опишите перехват исключения и выводите в браузер сообщение об ошибке
{ public $role; public static $cntSU = 0; function __construct($name, $login, $password, $role) { parent::__construct($name, $login, $password); $this->role = $role; ++self::$cntSU; --self::$cntU; } function showInfo() { parent::showInfo(); echo "<br> Role: " . $this->role; } function getInfo() { $arr = array(); foreach ($this as $k => $v) { $arr[$k] = $v; return $arr; } } } $user = new SuperUser("Roma", "Bromik", "67b45wrs", "Admin"); $user->showInfo(); $user = new SuperUser("Roma_BROMA", "Bromik", "67b45wrs", "Admin"); $user->showInfo(); echo "<hr>"; echo "Все простых юзеров" . Users::$cntU . "<br>"; echo "Все super userov" . SuperUser::$cntSU . "<br>";
} function drawLine() { echo "<br>"; } function __destruct() { echo "Пользователь {$this->name} удален<br>"; } } class SuperUser extends User { public $role; function __construct($name, $login, $password, $role) { parent::__construct($name, $login, $password); $this->role = $role; } function showInfo() { echo "<hr>"; parent::showInfo(); echo "Role is {$this->role}"; $this->drawLine(); } } $user1 = new User("Vasya", "Vas", "1234"); $user1->showInfo(); $user2 = new SuperUser("Petya", "Pet", "4321", "Default User"); $user2->showInfo();
$this->login = $b; $this->password = $c; } function showInfo() { echo "<p>Name: " . $this->name . "<br>" . "Login: "******"<br>" . "Password: "******"<br>"; } } class SuperUser extends User { public $role; function __construct($a, $b, $c, $d) { parent::__construct($a, $b, $c); $this->role = $d; } function showInfo() { parent::showInfo(); echo "Role: " . $this->role . "<br>"; } } $aaaa1 = new User(123, 456, 789); echo $aaaa1->showInfo(); $aaaa2 = new User(123, 456, 789); echo $aaaa2->showInfo(); $aaaa3 = new User(123, 456, 789); echo $aaaa3->showInfo(); $aaaa4 = new SuperUser(123, 456, 789999, "admin"); echo $aaaa4->showInfo();
echo 'Hi User! <br> Your name: ' . $name . '. You login: '******'. You password: '******'Secret info. '; } } class SuperUser extends User { public function __construct($role) { if (!empty($role)) { $data = parent::__construct('a', 'b', 'c'); echo $data . ' You role: ' . $role . '<br>'; } else { echo 'Введите роль'; } } public function showInfo($role) { $showInfo = parent::showInfo(); echo $showInfo . ' You role: ' . $role; } } $userN = new SuperUser('d'); $userN->showInfo('root');