Próg sukcesu: 15 punktów
*Za każdą poprawną odpowiedź na pytanie otrzymasz 1 punkt. Za każdą błędną odpowiedź na pytanie nie otrzymasz nic. Jeśli odpowiedź jest tylko częściowa (i nie da się na jej podstawie zaprogramować zadania), pytanie liczy się jako niepoprawne (nie da się uzyskać połowy punktu). Jeśli rozwiązanie zawiera błąd w zabezpieczeniach lub literówkę w kodzie, odpowiedź jest uznawana za niepoprawną, ponieważ nie zostanie uruchomiona.
1 Wyjaśnij różnicę między pętlami for
, while
i foreach
. Dla każdego z nich podaj jeden konkretny przykład zastosowania, który jasno pokazuje jego główną zaletę.
$data
.Napisz poniższe polecenia, aby pracować z repozytorium Git:
Statistic.php
.cron
.W zmiennej umieśćmy łańcuch tekstowy. Podaj przykład funkcji służącej do obliczania sumy kontrolnej.
delete
w Presenter
, która przyjmuje identyfikator elementu jako liczbę całkowitą i usuwa wiersz z tabeli question
według podanego identyfikatora. Po pomyślnym usunięciu zostanie wyświetlony komunikat "Pytanie zostało usunięte" i nastąpi przekierowanie do akcji list
.Pod znakiem zapytania o dodatkowy punkt: Jeśli z jakiegoś powodu usuwanie nie powiedzie się, nie wyrzuca błędu krytycznego, ale informuje o tym użytkownika za pomocą komunikatu (komunikat flash).
Po utworzeniu formularza Nette staje się on komponentem. Co to jest składnik Nette?
question
zawierającej listę pytań. Struktura tabeli jest następująca:Kolumna | Właściwości |
---|---|
identyfikator | int(8), unsigned, auto increment |
pytanie | varchar(255) |
is_active | tinyint(1), unsigned, wartość domyślna: 1 |
Utwórz odpowiednie pola formularza, aby wstawić nowy wiersz do tej tabeli. Po wstawieniu rekordu musi zostać odpalony komunikat FlashMessage informujący o pomyślnym wstawieniu rekordu + przekierowanie do edycji rekordu (akcja edit
).
group
, która będzie zawierać informacje o grupach. Podczas tworzenia pytania będzie można określić, do jakiej grupy należy dane pytanie. Konieczne będzie zorganizowanie sesji między stołami (opisz, jak to się robi i jak to będzie wyglądało).W Presenter
znajduje się formularz edycji, który jest tworzony jako komponent. Chcemy przekazać wartości domyślne z tego, co znajduje się w bazie danych, tzn. musimy pobrać dane z tabeli w jakiś wygodny sposób.
9 Rozważmy następujące dane pobrane z bazy danych (przy użyciu zwykłej bazy danych Nette Database):
$questions = $this->db->questions()->fetchAll();
Jak wyświetlić tekst wszystkich pytań w postaci listy wypunktowanej?
Jak przekazać dane z tabeli do szablonu Latte?
Jakie makra Latte będą potrzebne do sporządzenia listy elementów? Podaj konkretną implementację wypisywania kolumn id
i name
w formacie:
*1024: Jak się masz? *1025: Co jadłeś dzisiaj na obiad?
Wymień przykład co najmniej 3 różnych pól formularza, które są zapisane w formularzu:
$form->add(tady bude příklad);
i dla każdego z nich wyjaśnić, do czego służy i jakie dane wyjściowe zwraca (typ danych + przykład).
Utwórzmy przesłany formularz Nette.
question
.Dla każdego warunku zdecyduj, czy wynik jest PRAWDĄ czy FAŁSZEM:
1 > 0
1 == 1
1 == "1"
1 === "1"
1 == true
1 == true
1 == false
.1 == "1" && 1== true
==
(dwa równe) i ==
(trzy równe)?==
w warunkach i jak konkretnie ==
rozwiązuje ten problem (przykład, gdzie ==
może zawieść, a ==
ratuje sytuację)Utwórzmy tabelę koordynacji (tabela koordynacji) zawierającą listę wszystkich koordynacji między dwiema osobami. Jeden z nich organizuje koordynację, a drugi jest gościem. Napisz selekcję do bazy danych, która zwraca wszystkie wiersze z koordynacjami, w których biorę udział (czy jestem organizatorem koordynacji, czy jestem gościem koordynacji). W tabeli znajdują się kolumny id
, id_user_organizer
(id organizatora), id_user_quest
(id gościa). Mój identyfikator jest przechowywany w zwykły sposób w Presenter
.
zmienną
, makro
, filtrem
i n:atrybutem
? Co gdzie jest stosowane?DashboardPresenter
do akcji default
?QuestionPresenter
, edit
) pytania, aby przekazać ID aktualnie wylistowanego pytania? Napisz specjalny kod Latte.Symbolicznie zapisane (próbka w PHP, przetłumacz na Latte):
foreach ($questions as $question) {echo $question->id; // Identyfikator pytaniaecho $question->question; // tekst pytania}
StatisticManager
, która posiada publiczną metodę getStatistics()
, która nie przyjmuje żadnych parametrów. W jaki sposób mogę załadować tę usługę w Prezenterze i wywołać metodę publiczną getStatistics()
w akcji domyślnej oraz przekazać wynik do szablonu?object
, class
, service
?model
, entity
i value object
?$imageGenerator = ["punkty" => [480: [910, 30, 1845, 1150],600: [875, 95, 1710, 910],768: [975, 130, 1743, 660]]];
imageGenerator
, który zarejestrowaliśmy w poprzednim zadaniu, tak aby usługa otrzymała go w konstruktorze i mogła go wykorzystać w usłudze (w sensie konfiguracji). Dla usługi podaj przykładową implementację konstruktora tak, aby pierwszy parametr wejściowy był traktowany jako typ danych dla tablicy.Obiekty w ogólności
method
, properties
i constants
? Jaka jest różnica między nimi?public
, private
, protected
). Wyjaśnij różnicę i podaj konkretny przykład użycia oraz wyjaśnij, kto może zobaczyć co i kiedy.kurs
, w której znajduje się prywatna właściwość bieżącyKurs
, w której przechowywany jest bieżący kurs. Jak sprawić, aby właściwość była tylko do odczytu i nie można było jej zapisywać z zewnątrz?Gdy tworzę w bazie danych tabele, które są ze sobą logicznie powiązane (np. tabelę dla użytkownika, a następnie tabelę dla jego artykułów), muszę mieć pewność, że dane zostaną poprawnie połączone.
DI
a DIC
?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: ... | pl