Поріг успіху: 15 балів
За кожну правильну відповідь ви отримуєте 1 бал. За неправильну відповідь на будь-яке питання ви нічого не отримаєте. Якщо відповідь є лише частковою (і на її основі неможливо було б запрограмувати річ), питання вважається неправильним (не можна отримати половину балу). Якщо рішення містить баг безпеки, або помилку в коді, або описку в коді, відповідь вважається неправильною, тому що вона не буде виконуватися..
1 Поясніть різницю між циклами for
, while
та foreach
. Для кожного навести 1 конкретний приклад його використання, який наочно демонструє його основну перевагу.
маємо змінну, про яку майже нічого не знаємо (знаємо лише її назву). Як можна ознайомитися з його змістом? Наприклад, він називається $data
.
для роботи з Git-репозиторієм напишіть наступні команди, наведені нижче:
Statistic.php
у файлі Statistic.php
.cron
тегаминехай у змінній знаходиться текстовий рядок. Навести приклад функції для обчислення контрольної суми.
написати фрагмент коду, який створює дію delete
в Presenter
, що приймає ідентифікатор елемента як ціле число і видаляє рядок з таблиці question
за вказаним ідентифікатором. Після успішного видалення буде надруковано повідомлення "Питання видалено" та перенаправлення до дії "список".
Під питанням додатковий бал: Якщо видалення з якихось причин не вдається, вона не викидає фатальну помилку, а ще й інформує про це користувача повідомленням (флеш-повідомленням).
коли я створюю форму Nette, вона стає компонентом. Що таке компонент Nette?
мені потрібно створити просту форму Nette для вставки запису в таблицю question
, яка містить список запитань. Структура таблиці виглядає наступним чином:
Стовпчик | Властивості |
---|---|
id | int(8), unsigned, auto increment |
питання | varchar(255) |
is_active | tinyint(1), беззнаковий, значення за замовчуванням: 1 |
Створіть відповідні поля форми для вставки нового рядка в цю таблицю. Після вставки запису повинно бути видано FlashMessage, що інформує про успішну вставку запису + перенаправлення на редагування запису (дія edit
).
group
, яка буде містити інформацію про групи. При створенні питання потім можна буде визначити, до якої групи відноситься питання. Вам потрібно буде налаштувати сеанс зв'язку між таблицями (опишіть, як це робиться і як він буде налаштований).Презентері
є форма редагування, яка створюється як компонент. Ми хочемо передавати значення за замовчуванням з того, що є в базі даних, тобто нам потрібно отримати дані з таблиці якимось зручним способом.9 Розглянемо наступні дані, отримані з бази даних (використовується звичайна база даних Nette):
$questions = $this->db->questions()->fetchAll();
Як перерахувати текст всіх питань у вигляді маркованого списку?
Як передати дані з таблиці в шаблон Latte?
Які макроси Latte нам знадобляться для перерахування елементів? Наведіть конкретну реалізацію перерахування стовпців id
та name
у форматі:
*1024: Як справи? *1025: Що ти сьогодні їв на обід?
$form->add(tady bude příklad);
і для кожної з них пояснити, для чого вона використовується і який результат повертає (тип даних + приклад).
question
.1 > 0
1 == 1
1 == "1"
1 === "1"
1 === false
'==
(дві рівності) від ===
(три рівності)?==
в даних умовах і як конкретно ==
вирішує цю проблему (приклад, коли ==
може не спрацювати, а ==
врятує ситуацію)нехай у нас є координаційна таблиця (таблиця узгоджень), в якій перераховані всі узгодження між 2 людьми. Один з них організовує координацію, а інший є гостем. Напишіть вибірку з бази даних, яка повертає всі рядки з координаціями, в яких беру участь я (чи я організатор координації, чи я гість координації). Таблиця має стовпці id
, id_user_organizer
(ідентифікатор організатора), id_user_quest
(ідентифікатор гостя). Мій ідентифікатор зберігається у звичайному режимі в "Презентері".
група питань про латте:
DashboardPresenter
на дію за замовчуванням
?QuestionPresenter
, edit
дію) питання, щоб передати ідентифікатор поточного переліченого питання? Напишіть конкретний код латте.Символічно записано (зразок на PHP, перекласти на Latte):
foreach ($questions as $question) {echo $question->id; // Ідентифікатор питанняecho $question->question; // текст питання}
StatisticManager
, який має загальнодоступний метод getStatistics()
, що не приймає жодних параметрів. Як завантажити цей сервіс в Presenter і в дії за замовчуванням викликати загальнодоступний метод getStatistics()
і передати результат в шаблон?$imageGenerator = ["бали" => [480: [910, 30, 1845, 1150],600: [875, 95, 1710, 910],768: [975, 130, 1743, 660]]];
imageGenerator
, який ми зареєстрували в попередньому завданні, щоб сервіс отримав його в конструкторі і міг використовувати в сервісі (в сенсі конфігурації). Для сервісу навести приклад реалізації конструктора таким чином, щоб перший вхідний параметр розглядався як тип даних для масиву.публічний
, приватний
, захищений
), пояснюємо різницю та конкретний приклад використання і хто що і коли може бачити.course
в якому є приватна властивість currentCourse
в якій зберігається поточний курс. Як зробити властивість тільки для читання, а не для запису ззовні?Jan Barášek Více o autorovi
Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.
Rád vám pomůžu:
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | uk