<?php
class Employee
{
public $name ; // имя-фамилия
public $rate ; // часовая ставка (сколько он получает тугриков за час работы)
public $hours = array ( ) ; // массив, содержащий отработанные часы по неделям
public function __construct( $name , $rate )
{
// задаем имя и часовую ставку
$this -> name = $name ;
$this -> rate = $rate ;
}
/** Считает общее число отработанных часов */
public function getTotalHoursWorked( )
{
// Просто складываем значения часов в массиве
}
/** Считает зарплату */
public function getSalary( )
{
// Получаем число отработанных часов
$hours = $this -> getTotalHoursWorked ( ) ;
// и умножаем на часовую ставку
$salary = $hours * $this -> rate ;
return $salary ;
}
}
$ivan = new Employee( "Иванов Иван" , 10 ) ;
// name и rate заданы через конструктор, потому осталось лишь написать часы
$ivan -> hours = array ( 40 , 40 , 40 , 40 ) ; // Иван работает по 40 часов в неделю
$peter = new Employee( "Петров Петр" , 8 ) ;
$peter -> hours = array ( 40 , 10 , 40 , 50 ) ; // Петр взял отгул и потому отработал меньше часов, // но в последнюю неделю решил поработать побольше
$employees = array ( $ivan , $peter ) ;
//ширина колонок
$col1 = 30 ;
$col2 = 8 ;
$col3 = 8 ;
$col4 = 8 ;
//заголовок таблицы
padLeft( "Hours" , $col2 ) .
padLeft( "rate" , $col3 ) .
padLeft( "payday" , $col4 ) . "\n \n " ;
foreach ( $employees as $employee ) {
echo "Имя: {$employee->name} \n " ;
echo "Ставка, тугриков в час: {$employee->rate} \n " ;
echo "Отработал, часов: {$employee->getTotalHoursWorked ()}\n " ;
echo "Заработал, тугриков: {$employee->getSalary ()}\n " ;
}
PD9waHAKIAplcnJvcl9yZXBvcnRpbmcoLTEpOwogCmNsYXNzIEVtcGxveWVlICAgICAgICAgICAgIAp7CiAgICBwdWJsaWMgJG5hbWU7ICAgICAgICAgICAgICAgLy8g0LjQvNGPLdGE0LDQvNC40LvQuNGPCiAgICBwdWJsaWMgJHJhdGU7ICAgICAgICAgICAgICAgLy8g0YfQsNGB0L7QstCw0Y8g0YHRgtCw0LLQutCwICjRgdC60L7Qu9GM0LrQviDQvtC9INC/0L7Qu9GD0YfQsNC10YIg0YLRg9Cz0YDQuNC60L7QsiDQt9CwINGH0LDRgSDRgNCw0LHQvtGC0YspCiAgICBwdWJsaWMgJGhvdXJzID0gYXJyYXkoKTsgICAgLy8g0LzQsNGB0YHQuNCyLCDRgdC+0LTQtdGA0LbQsNGJ0LjQuSDQvtGC0YDQsNCx0L7RgtCw0L3QvdGL0LUg0YfQsNGB0Ysg0L/QviDQvdC10LTQtdC70Y/QvAogCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJG5hbWUsICRyYXRlKQogICAgewogICAgICAgIC8vINC30LDQtNCw0LXQvCDQuNC80Y8g0Lgg0YfQsNGB0L7QstGD0Y4g0YHRgtCw0LLQutGDCiAgICAgICAgJHRoaXMtPm5hbWUgPSAkbmFtZTsKICAgICAgICAkdGhpcy0+cmF0ZSA9ICRyYXRlOwogICAgfQogCiAgICAvKiog0KHRh9C40YLQsNC10YIg0L7QsdGJ0LXQtSDRh9C40YHQu9C+INC+0YLRgNCw0LHQvtGC0LDQvdC90YvRhSDRh9Cw0YHQvtCyICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0VG90YWxIb3Vyc1dvcmtlZCgpCiAgICB7CiAgICAgICAgLy8g0J/RgNC+0YHRgtC+INGB0LrQu9Cw0LTRi9Cy0LDQtdC8INC30L3QsNGH0LXQvdC40Y8g0YfQsNGB0L7QsiDQsiDQvNCw0YHRgdC40LLQtQogICAgICAgIHJldHVybiBhcnJheV9zdW0oJHRoaXMtPmhvdXJzKTsKICAgIH0KIAogICAgLyoqINCh0YfQuNGC0LDQtdGCINC30LDRgNC/0LvQsNGC0YMgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRTYWxhcnkoKQogICAgewogICAgICAgIC8vINCf0L7Qu9GD0YfQsNC10Lwg0YfQuNGB0LvQviDQvtGC0YDQsNCx0L7RgtCw0L3QvdGL0YUg0YfQsNGB0L7QsgogICAgICAgICRob3VycyA9ICR0aGlzLT5nZXRUb3RhbEhvdXJzV29ya2VkKCk7CiAgICAgICAgLy8g0Lgg0YPQvNC90L7QttCw0LXQvCDQvdCwINGH0LDRgdC+0LLRg9GOINGB0YLQsNCy0LrRgwogICAgICAgICRzYWxhcnkgPSAkaG91cnMgKiAkdGhpcy0+cmF0ZTsKICAgICAgICByZXR1cm4gJHNhbGFyeTsKICAgIH0KfQogCiAKJGl2YW4gPSBuZXcgRW1wbG95ZWUoItCY0LLQsNC90L7QsiDQmNCy0LDQvSIsIDEwKTsKLy8gbmFtZSDQuCByYXRlINC30LDQtNCw0L3RiyDRh9C10YDQtdC3INC60L7QvdGB0YLRgNGD0LrRgtC+0YAsINC/0L7RgtC+0LzRgyDQvtGB0YLQsNC70L7RgdGMINC70LjRiNGMINC90LDQv9C40YHQsNGC0Ywg0YfQsNGB0YsKJGl2YW4tPmhvdXJzID0gYXJyYXkoNDAsIDQwLCA0MCwgNDApOyAgIC8vINCY0LLQsNC9INGA0LDQsdC+0YLQsNC10YIg0L/QviA0MCDRh9Cw0YHQvtCyINCyINC90LXQtNC10LvRjgogCiRwZXRlciA9IG5ldyBFbXBsb3llZSgi0J/QtdGC0YDQvtCyINCf0LXRgtGAIiwgOCk7CiRwZXRlci0+aG91cnMgPSBhcnJheSg0MCwgMTAsIDQwLCA1MCk7ICAvLyDQn9C10YLRgCDQstC30Y/QuyDQvtGC0LPRg9C7INC4INC/0L7RgtC+0LzRgyDQvtGC0YDQsNCx0L7RgtCw0Lsg0LzQtdC90YzRiNC1INGH0LDRgdC+0LIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g0L3QviDQsiAg0L/QvtGB0LvQtdC00L3RjtGOINC90LXQtNC10LvRjiDRgNC10YjQuNC7INC/0L7RgNCw0LHQvtGC0LDRgtGMINC/0L7QsdC+0LvRjNGI0LUKIAokZW1wbG95ZWVzID0gYXJyYXkoJGl2YW4sICRwZXRlcik7CiAKLy/RiNC40YDQuNC90LAg0LrQvtC70L7QvdC+0LoKJGNvbDEgPSAzMDsKJGNvbDIgPSA4OwokY29sMyA9IDg7CiRjb2w0ID0gODsKCi8v0LfQsNCz0L7Qu9C+0LLQvtC6INGC0LDQsdC70LjRhtGLCgplY2hvIHN0cl9wYWQoIkVtcGxveWVlIiwgMzApIC4gCgkgcGFkTGVmdCgiSG91cnMiLCAkY29sMikgLgoJIHBhZExlZnQoInJhdGUiLCAkY29sMykgLiAKCSBwYWRMZWZ0KCJwYXlkYXkiLCAkY29sNCkgLiAiXG5cbiI7Cgpmb3JlYWNoICgkZW1wbG95ZWVzIGFzICRlbXBsb3llZSkgewogICAgZWNobyAi0JjQvNGPOiB7JGVtcGxveWVlLT5uYW1lfVxuIjsKICAgIGVjaG8gItCh0YLQsNCy0LrQsCwg0YLRg9Cz0YDQuNC60L7QsiDQsiDRh9Cw0YE6IHskZW1wbG95ZWUtPnJhdGV9XG4iOwogICAgZWNobyAi0J7RgtGA0LDQsdC+0YLQsNC7LCDRh9Cw0YHQvtCyOiB7JGVtcGxveWVlLT5nZXRUb3RhbEhvdXJzV29ya2VkKCl9XG4iOwogICAgZWNobyAi0JfQsNGA0LDQsdC+0YLQsNC7LCDRgtGD0LPRgNC40LrQvtCyOiB7JGVtcGxveWVlLT5nZXRTYWxhcnkoKX1cbiI7Cn0KIA==