Skip to content

Instantly share code, notes, and snippets.

@ahonymous
Last active November 26, 2017 08:19
Show Gist options
  • Save ahonymous/648f473edaf5372c34349bfb461e7a7b to your computer and use it in GitHub Desktop.
Save ahonymous/648f473edaf5372c34349bfb461e7a7b to your computer and use it in GitHub Desktop.
HW Symfony start

HW2

  1. Поставити Symfony і створити репозиторій на github (чиста сімфа з моделями в гілці master)
  2. Створити під кожну модель, з попереднього домашнього завдання, CRUD контролери
  3. Описати для кожного контролера роутинг у окремому yml файлі, які мають бути в тому ж AppBundle, що і контроллери
  4. Для кожного контролера створити Twig-темплейт, який має знахоитиися в тому ж AppBundle, що і контролери
  5. Для кожного контролера написати функціональний тесь, який перевіряє, що контролер віддає 200

Acceptance:

  1. При виконанні роботи потрібно дотримуватися GIT FLOW, PSR і Symfony Code Styles:
  • Кожен ПР (якщо їх буде > 1) має бути заапрувлений одним із викладачів перед тим як буде вмержений в master бранч
  • Намагайтеся ПР робити коротким і лаконічним (атомарним)
  • PSR має перевірятися PhpStorm за допомогою інспекцій PhpMd та PhpCS
  • Тести мають проходити на Travis-CI
  • Процент покриття unit тестами має контролюватися на за допомогою Scrutinizer, або аналогів
  1. Також потрібно дотримуватися Symfony Best Practice, якщо вони не суперечать завданню

HW3

  1. Організувати складний пошук через Request GET-параметр на сторінці з авторами статтей (пошук має відбуватися по повному імені і даті народження автора, або одному із цих полів)
  2. Організувати складний пошук через Request GET-параметр на сторінці зі статтями (пошук має відбуватися за назвою статті і за масивом тегів, що прикріплені до статті, або одному із цих полів)

P.S.

  1. При виконнані роботи, потрібно ознайомитися із правильним передаванням значеннь GET-параментрами
  2. Всі запити стосовно вибірки сутностей має реалізоване в репозиторії сутностей

HW4

  1. Ознайомитися із документацією по валідації: https://symfony.com/doc/current/validation.html
  2. Добавити констранти для сутностей (https://symfony.com/doc/current/validation.html#basic-constraints). Використати, як мінімум, NotBlank, NotNull, Type, Length, DateTime. Бажано використати UniqueEntity, Valid
  3. Ознайомитися з документацією по формах (http://symfony.com/doc/current/forms.html).
  4. Добавити кілька своїх форм тайпів, використати їх для створення та редагування сутностей. При рендерингу форм використати кастомні стилі для форм тему(https://symfony.com/doc/current/form/form_customization.html#twig, https://symfony.com/doc/current/form/form_customization.html#what-are-form-themes)
  5. Додати до всіх полів типу:
  • DateTimeType - css class date-time
  • TextType - css class text
  1. Написати тести для форм. Поправити тести для контроллерів (якщо необхідно).

HW5

  1. Використовуючи npm поставити boostrap 3 із залежностями
  2. Встановити gulp
  3. Написати таски для gulp по зборці (приклад тут https://gist.github.com/ahonymous/88f9b9bab0bda4891960bb58dd94743b)
  4. Підключити в twig для всіх форм bootstarap 3
  5. Викориистати bootstrap для верстання всього DOM в twig
  6. Поставити DateTimePicker для поля birthday чи іншиих полів у унших entities
  7. Використовуючи JQUERY реалізувати Emmbeded Forms в своєму проекті (https://symfony.com/doc/3.3/form/form_collections.html)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment