Тестовое задание по laravel/php
Switch branches/tags
Nothing to show
Clone or download
gorloffslava 1.0.0
1. Init Release
Latest commit f95a887 Nov 26, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea 1.0.0 Nov 26, 2017
image.jpg 1.0.0 Nov 26, 2017
index.html 1.0.0 Nov 26, 2017
main.css 1.0.0 Nov 26, 2017
readme.md 1.0.0 Nov 26, 2017

readme.md

Задание:


0. Компоненты:

  • Laravel 5.5
  • PostgreSQL

1. Вводное:

Дано:


  1. Модель User без кастомных полей 

  2. Модель Article с полем text 

  3. Относятся как многие ко многим  
4. Написать свойство articles в первой модели, которое вернёт все статьи пользователя 

  4. Написать метод users во второй, которое вернёт всех авторов статьи 

2. Работа с формами и запросами

  1. Расширить модель User, чтобы она имела поля, соответствющие форме index.html
  2. Дораработать приложение, чтобы данные с этой формы создавали объект User в базе данных на сервере
  3. После сохранения данных на сервере происходит редирект на точно такую-же страницу, где данные уже введены и их нельзя изменить

3. Мягкое удаление и миграции:

  1. Добавить возможность удалять статьи в мягком режиме

  2. При этом сделать возможность обновить систему со старой версии (из первого задания) на новую без полного сброса бд 



4. Методы и строгая типизация:

Теперь надо создать функцию в классе статей, которая:

  1. Принимает пользователя и только пользователя - выдаёт mismatch в противном случае
  2. Возвращает 

    • истину если указанный человек автор статьи 

    • ложь - если это не так  
- null если статья удалена 

  3. Если функция пытается вернуть что - то иное - mismatch 


5. ORM:

Добавим новое поле пользователю user - experience 
Нужно создать функцию, в которой:

  1. Будет извлекаться пользователь и сохраняться в переменную $user = User::find(1) 

  2. Дальше функция выводит experience
  3. Параллельно с работой функции 

    1. Асинхронный метод меняет опыт на случайное число каждые несколько секунд 

    2. В первой функции ещё раз выводится спустя промежуток времени опыт пользователя. 
Каким будет этот вывод ? 


6. Загрузить на гитхаб в публичный репозиторий и отправить ссылку.

Желаем Вам удачи!