При трудоустройстве, мне отправили тестовое задание(сделать CRUD систему для работы с профайлами). Для задания я решил реализовать MVC. Пару дней назад в код-ревью получил замечание: *Слабое знание и понимание ООП PHP. Сделаны модели, которые не совсем являются моделями. Они содержат методы по загрузке списка профайлов. При этом возвращают массив. * Меня интересует почему не понравились мои модели. И как реализовать правильно.
Users.php
<?php
class Users
{
/**
* Берет информацию о пользователе
* с указанным id
* @return array
*/
public static function getUserById($id)
{
$id = intval($id);
//Если id был передан делаем запрос к БД
if ($id)
{
$result = Db::$PDOobject->query('SELECT * FROM users
LEFT JOIN users_email ON users_email.user_id = users.id
LEFT JOIN users_home_number ON users_home_number.user_id = users.id
LEFT JOIN users_mobile_number ON users_mobile_number.user_id = users.id
LEFT JOIN users_work_number ON users_work_number.user_id = users.id
WHERE users_email.user_id =' . $id);
$result->setFetchMode(PDO::FETCH_ASSOC);
$userItem = $result->fetch();
}
return $userItem;
}
/**
* Берет информацию о всех
* пользователях
* @return array
*/
public static function getUserArray()
{
$userArray = array();
$result = Db::$PDOobject->query('SELECT * FROM users
LEFT JOIN users_email ON users_email.user_id = users.id
LEFT JOIN users_home_number ON users_home_number.user_id = users.id
LEFT JOIN users_mobile_number ON users_mobile_number.user_id = users.id
LEFT JOIN users_work_number ON users_work_number.user_id = users.id');
$result->setFetchMode(PDO::FETCH_ASSOC);
$i = 0; //Счетчик для цикла
while($row = $result->fetch())
{
$userArray[$i]['user_id'] = $row['user_id'];
$userArray[$i]['first_name'] = $row['first_name'];
$userArray[$i]['last_name'] = $row['last_name'];
$userArray[$i]['middle_name'] = $row['middle_name'];
$userArray[$i]['email'] = $row['email'];
$userArray[$i]['check_main_number'] = $row['check_main_number'];
$userArray[$i]['mobile_number'] = $row['mobile_number'];
$userArray[$i]['work_number'] = $row['work_number'];
$userArray[$i]['home_number'] = $row['home_number'];
$i++;
}
return $userArray;
}
}
Пример стандартного CRUD http://www.codingcage.com/2015/04/php-pdo-crud-tutorial-using-oop-with.html
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Не так давно начала работу с CakePHP, встал вопрос, как реализовать выдающий списокСмысл списка в том чтобы пользователь выбрал пункт, а в базу...