Wyniki egzaminu

Informacje o egzaminie:
  • Zawód: Technik informatyk
  • Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
  • Data rozpoczęcia: 8 czerwca 2026 19:53
  • Data zakończenia: 8 czerwca 2026 20:27

Egzamin zdany!

Wynik: 30/40 punktów (75,0%)

Wymagane minimum: 20 punktów (50%)

Nowe
Analiza przebiegu egzaminu- sprawdź jak rozwiązywałeś pytania
Pochwal się swoim wynikiem!
Szczegółowe wyniki:
Pytanie 1

Ile klatek na sekundę zapewnia PŁYNNY obraz w filmie (minimalny typowy zakres)?

A. 20-23 fps
B. 16-19 fps
C. 31-36 fps
D. 24-30 fps
Płynny ruch w filmie zapewnia zwykle 24-30 klatek na sekundę (np. 24 fps w kinie, 25 w europejskiej telewizji). Poniżej tego zakresu obraz zaczyna „skakać”. Dlatego płynność daje 24-30 fps.

Pytanie 2

Znacznik <pre> </pre> służy do wyświetlania

A. treści czcionką o stałej szerokości
B. znaku wielokropkowego
C. treści czcionką w języku polskim
D. znaku skreślenia
Wybór błędnych odpowiedzi może wynikać z nieporozumienia dotyczącego funkcji znacznika <pre>. Odpowiedzi sugerujące, że służy on do wyświetlania znaku przekreślenia, znaku wielokropka, lub treści polską czcionką nie mają podstaw w rzeczywistej funkcjonalności tego znacznika. Znaki przekreślenia, czy wielokropki są zazwyczaj elementami typografii, które można osiągnąć przez inne znaczniki i style CSS, a nie przez <pre>. Znacznik <pre> nie wpływa na rodzaj czcionki używanej w danym elemencie, lecz przede wszystkim na sposób wyświetlania treści. Przykładem może być tekst umieszczony w tym znaczniku, który wyświetla się w sposób stały, niezależnie od ustawień czcionki w stylach CSS, co czyni go nieodpowiednim do użycia w kontekście wyboru konkretnej czcionki, jak polska czcionka. Zrozumienie, że <pre> dotyczy przede wszystkim zachowania formatowania tekstu, a nie jego typografii, jest kluczowe do poprawnego korzystania z HTML. W przypadku, gdy użytkownik wybiera błędne odpowiedzi, może to wynikać z mylnego założenia, że <pre> jest odpowiedzialny za typografię, co prowadzi do nieprawidłowych wniosków w kontekście inżynierii oprogramowania i projektowania stron internetowych.

Pytanie 3

W zaprezentowanej klasie zdefiniowane zostały

class a {
    public $b;
    public $c;
    public function d() {}
}
A. jedna właściwość
B. dwie właściwości
C. dwie metody
D. dwa obiekty
Odpowiedzi wskazujące na dwa obiekty lub dwie metody są błędne z powodu niepoprawnej interpretacji struktury klasy. Obiekty są instancjami klas, a nie ich składnikami. W kodzie zadań nie ma definicji żadnych obiektów tylko konstrukcja klasy. Z kolei w kontekście programowania obiektowego metody to funkcje zdefiniowane wewnątrz klasy które mogą operować na danych obiektu i realizować jego funkcje. W przedstawionym kodzie znajduje się tylko jedna metoda o nazwie d. Właściwość jest składnikiem klasy i może być polem lub zmienną instancji która przechowuje dane specyficzne dla instancji klasy. Poprawna odpowiedź zawiera dwie właściwości $b i $c zdefiniowane w klasie jako public. Częstym błędem jest mylenie pojęć metod i właściwości co wynika z braku zrozumienia różnicy między nimi. Metody wykonują operacje na danych obiektu natomiast właściwości przechowują te dane. Zrozumienie tej różnicy jest fundamentem poprawnego stosowania paradygmatu obiektowego w programowaniu i pozwala na bardziej efektywne projektowanie kodu oraz zarządzanie stanem obiektów.

Pytanie 4

Wskaż nieprawidłowy opis optymalizacji kodu generowanego przez program.

A. Powinna skutkować modyfikacją kodu źródłowego, aby działał on szybciej
B. Może być realizowana na różnych etapach działania w celu przyspieszenia wykonania kodu przez procesor
C. Jej celem jest zwiększenie efektywności działania programu
D. Jej celem jest sprawdzenie zgodności z wymogami formalnymi
Wszystkie niepoprawne odpowiedzi odnoszą się do różnych aspektów, które nie są zgodne z rzeczywistym celem optymalizacji kodu wynikowego. Poprawa wydajności programu i zwiększenie szybkości wykonywania kodu przez procesor są kluczowymi elementami optymalizacji; niezbędne jest dążenie do maksymalizacji efektywności działania aplikacji. Proces optymalizacji nie może być związany jedynie z zgodnością z wymogami formalnymi, ponieważ to bardziej dotyczy analizy jakości kodu i jego zgodności z zasadami programowania, a nie jego wydajności. Dodatkowo, modyfikacje kodu źródłowego w kontekście optymalizacji powinny koncentrować się na przyspieszeniu działania, a nie tylko na poprawie formalnych aspektów, które mogą nie wpływać na wydajność. W praktyce, jeśli kod źródłowy nie jest zoptymalizowany pod kątem wydajności, może prowadzić do znacznych opóźnień, co jest niezgodne z celem optymalizacji. Dlatego istotne jest, aby w procesie tym skupić się na zwiększaniu szybkości i wydajności, a nie na spełnianiu jedynie formalnych wymogów, które mogą być mniej istotne w kontekście ogólnej funkcjonalności i szybkości działania programów.

Pytanie 5

Jak ustalany jest typ zmiennej w języku JavaScript?

A. typy w ogóle nie występują
B. wynika z przypisanej wartości
C. musi być zadeklarowany na początku skryptu
D. istnieje tylko jeden typ
W JavaScripcie typ zmiennej nie jest deklarowany z góry - wynika z PRZYPISANEJ wartości i może się zmienić w trakcie (typowanie dynamiczne). Np. po let x = 5;x jest liczbą, a po x = "tekst"; staje się napisem. Dlatego typ wynika z przypisanej wartości.

Pytanie 6

Do następnego poziomu można przejść, gdy: punkty = 20, paczki co najmniej 3, dystans = 200 m. Który warunek (JS) to sprawdza?

A.
punkty == 20 || paczki == 3 || dystans == 200
B.
punkty == 20 && paczki == 3 && dystans == 200
C.
punkty == 20 || paczki >= 3 || dystans == 200
D.
punkty == 20 && paczki >= 3 && dystans == 200
Awans wymaga spełnienia WSZYSTKICH warunków naraz, więc łączymy je &&: punkty równe 20, paczki co najmniej 3 (paczki >= 3) i dystans 200 - czyli punkty == 20 && paczki >= 3 && dystans == 200. Dlatego ten warunek jest poprawny.

Pytanie 7

Tabela psy ma pola imie, rasa, telefon_wlasciciela, rok_szczepienia. Która kwerenda zwróci telefony właścicieli psów szczepionych PRZED 2015?

A.
SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia > 2015;
B.
SELECT psy FROM rok_szczepienia < 2015;
C.
SELECT imie, rasa FROM psy WHERE rok_szczepienia > 2015;
D.
SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia < 2015;
Po SELECT wymienia się kolumny do POBRANIA, a w WHERE warunek wyboru wierszy. Chcemy telefony psów szczepionych przed 2015, więc bierzemy kolumnę telefon_wlasciciela i warunek rok_szczepienia < 2015: SELECT telefon_wlasciciela FROM psy WHERE rok_szczepienia < 2015;. Dlatego ta kwerenda jest poprawna.

Pytanie 8

W jakim celu tworzy się w tabeli klucz OBCY?

A. aby stworzyć formularz do wprowadzania danych
B. aby wiązać go z innymi kluczami obcymi tej samej tabeli
C. aby jednoznacznie identyfikować rekord w tabeli
D. aby utworzyć relację (np. 1..n) z kluczem głównym innej tabeli
Klucz OBCY tworzy się, aby ustanowić RELACJĘ między tabelami - wskazuje klucz główny innej tabeli (np. w relacji 1..n). Pilnuje też spójności powiązań. Dlatego klucz obcy służy do utworzenia relacji z kluczem głównym innej tabeli.

Pytanie 9

Aby wymusić, by wartość w kolumnie odwoływała się do istniejącego rekordu w innej tabeli, należy zastosować:

A. klucz główny
B. klucz obcy
C. widok
D. indeks
Pozostałe pojęcia dotyczą innych zadań. Indeks działa wyłącznie na wydajność - tworzy uporządkowany spis wartości, by szybciej wyszukiwać, lecz nie kontroluje powiązań. Klucz główny identyfikuje wiersze w obrębie własnej tabeli i zapewnia ich unikalność, ale nie odwołuje się do tabeli sąsiedniej. Widok to zapamiętane zapytanie, które prezentuje dane w wygodnej formie - również nie wymusza żadnych reguł integralności. Powiązanie kolumny z istniejącym rekordem innej tabeli zapewnia klucz obcy.

Pytanie 10

Jak wygląda poprawny zapis znaczników, który jest zgodny z normami języka XHTML i odpowiada za łamanie linii?

A. </br/>
B. <br/>
C. <br/>
D. </ br>
Zapis znacznika </ br> jest niepoprawny, ponieważ nie można w ten sposób zamknąć znacznika, który nie ma zawartości. W XHTML wszystkie tagi muszą być poprawnie sformatowane, a takie umieszczenie spacji w znaczniku zamknięcia oraz użycie nieodpowiedniego formatu są całkowicie niezgodne z wymaganiami standardów. Kolejną niepoprawną koncepcją jest użycie </br/> - chociaż syntaktyczna forma jest bliska poprawnej, znaczniki otwierające i zamykające muszą mieć odpowiednie konteksty. W przypadku znaczników samozamykających się, takich jak <br/>, nie ma potrzeby umieszczania pary znaczników, ponieważ ich funkcjonalność polega na wstawieniu łamania linii, a nie na wytwarzaniu dodatkowego bloku. Ostatnią z wymienionych odpowiedzi, <br>, również nie jest zgodna z odpowiednim formatowaniem XHTML, ponieważ brakuje ukośnika, co czyni go niepoprawnym w kontekście stricte przestrzegania standardu. Podstawowym błędem w myśleniu, który prowadzi do tych niepoprawnych wniosków, jest niewłaściwe zrozumienie zasady samozamykania znaczników oraz ich roli w strukturze dokumentu HTML. Ignorowanie zasadności i standardów tworzenia HTML prowadzi do wielu problemów z interpretacją kodu przez różne środowiska oraz przeglądarki, co wpływa na ostateczną jakość i dostępność stron internetowych.

Pytanie 11

W HTML, aby dodać obrazek z tekstem przylegającym, umiejscowionym na środku obrazka, trzeba użyć znacznika

A. <img src="/obrazek.png" alt="obraz3" height="50%">tekst
B. <img src="/obrazek.png" alt="obraz4">tekst
C. <img src="/obrazek.png" alt="obraz1" hspace="30px">tekst
D. <img src="/obrazek.png" alt="obraz2" align="middle">tekst
Aby wstawić obrazek z tekstem przyległym w HTML, należy skorzystać ze znacznika <img> z atrybutem align ustawionym na 'middle'. Atrybut align jest przestarzały w HTML5, ale nadal może być używany w kontekście tekstów przylegających do obrazków. Ustawiając 'middle', obrazek będzie wyśrodkowany w pionie względem linii tekstu, co pozwala na estetyczne umiejscowienie obrazu w odniesieniu do towarzyszącego mu tekstu. Dobrym przykładem jest zastosowanie <img src='/obrazek.png' alt='obraz2' align='middle'>tekst, co sprawia, że obrazek staje się integralną częścią tekstu, a nie tylko jego dodatkiem. W kontekście standardów, warto zauważyć, że HTML5 zaleca stosowanie CSS do pozycjonowania, dlatego bardziej współczesnym podejściem byłoby użycie stylów CSS, np. 'vertical-align: middle'. Można to osiągnąć poprzez dodanie klasy do obrazka oraz odpowiedniego stylu CSS. Chociaż align jest przestarzały, jego rozumienie jest istotne dla osób przystosowujących starsze strony do nowych standardów.

Pytanie 12

Które źródło danych może posłużyć do utworzenia raportu?

A. etykieta
B. zapytanie ALTER
C. projekt raportu
D. zapytanie SELECT
Źródłem danych raportu może być zapytanie SELECT - pobiera ono z bazy konkretne dane, które raport następnie formatuje i wyświetla lub drukuje. Dlatego źródłem raportu jest zapytanie SELECT.

Pytanie 13

Fragment dokumentu HTML sugeruje, że

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
A. kod HTML zapisano w wersji 4 języka.
B. kod HTML zapisano w wersji 5 języka.
C. znaczniki końcowe są wymagane w kodzie HTML, także dla znaczników samozamykających się.
D. wszystkie znaczniki w kodzie HTML powinny być zapisywane wielkimi literami.
Deklaracja DOCTYPE wskazuje na to że dokument HTML wykorzystuje standard HTML 4.01 w trybie ścisłym. HTML 4.01 jest jedną z wersji języka HTML wprowadzoną przez World Wide Web Consortium w 1999 roku i zawiera trzy warianty: Strict Transitional i Frameset. Tryb Strict oznacza ścisłe przestrzeganie zasad standardu bez użycia przestarzałych elementów i atrybutów takich jak tagi związane z formatowaniem stron które stały się przestarzałe w miarę rozwoju kaskadowych arkuszy stylów CSS. W kontekście praktycznym oznacza to że projektując stronę zgodną z tą specyfikacją należy unikać znaczników odpowiedzialnych za prezentację które były powszechnie stosowane w poprzednich wersjach HTML. Zamiast tego zaleca się korzystanie z CSS do określania wyglądu strony co nie tylko wspiera separację struktury treści od jej wyglądu ale także ułatwia przenoszenie i aktualizację stylów. Używając deklaracji DOCTYPE HTML 4.01 Strict można zapewnić lepszą zgodność z najnowszymi wersjami przeglądarek oraz ułatwić przyszłe aktualizacje kodu do nowoczesnych standardów takich jak HTML5 który wprowadza dodatkowe funkcjonalności i uproszczenia mające na celu poprawę semantyki i użyteczności stron WWW

Pytanie 14

Określ rezultat działania podanego kodu PHP, jeśli zmienna tab jest tablicą.

$tab = explode(",","jelenie,sarny,dziki,lisy,borsuki"); echo $tab[1]." ".$tab[2];
A. jelenie sarny
B. sarny dziki
C. dziki lisy
D. lisy borsuki
Patrząc na błędne odpowiedzi, widzę, że były one wynikiem mylnego zrozumienia, jak działa funkcja explode w PHP oraz indeksowanie tablic. Na przykład, odpowiedź 'jelenie sarny' pomieszała pierwszy i drugi element tablicy, przez co wyszło coś nie tak. W PHP ważne jest, żeby pamiętać, że tablice zaczynają się od zera, czyli pierwszy element to tablica[0], a drugi to tablica[1]. Kolejna błędna odpowiedź, 'lisy borsuki', też nie brała pod uwagę tego faktu, odwołując się do elementów na końcu tablicy, co jest sprzeczne z kodem. A odpowiedź 'dziki lisy' to już całkowite zignorowanie porządku elementów w tablicy, co ma kluczowe znaczenie, gdy je wywołujemy. Żeby uniknąć takich pomyłek, programiści powinni zwracać uwagę na indeksy tablic i wiedzieć, jak działa funkcja explode. Zrozumienie tych podstawowych zasad w PHP jest istotne dla skutecznego przetwarzania danych i unikania typowych błędów w kodzie.

Pytanie 15

Kod PHP z fragmentem

if(empty($_POST["name"])){ $nameErr = "Name is required"; }
służy do obsługi
A. bazy danych
B. ciasteczek
C. sesji
D. formularza
Przedstawiony fragment kodu PHP sprawdza, czy w przesłanym formularzu (metodą POST) zawartość pola 'name' jest pusta. Jeśli tak, ustawia zmienną $nameErr z komunikatem "Name is required", co oznacza, że pole imienia jest wymagane. Tego typu walidacja jest kluczowym elementem przy pracy z formularzami, ponieważ pozwala na zapewnienie, że użytkownik dostarcza wszystkie niezbędne dane przed ich przetworzeniem. W praktyce, walidacja po stronie serwera jest niezbędna dla bezpieczeństwa aplikacji oraz poprawności danych, które są później przetwarzane i przechowywane w bazie danych. Standardy branżowe sugerują, aby każdy formularz miał walidację zarówno po stronie klienta (JavaScript), jak i serwera (PHP), aby minimalizować ryzyko nieprawidłowych danych i ataków, takich jak SQL Injection. Przykładowo, w formularzach rejestracyjnych i logowania, walidacja pól takich jak imię, email czy hasło jest powszechną praktyką, aby poprawić doświadczenie użytkownika oraz bezpieczeństwo aplikacji.

Pytanie 16

Zgodnie z zasadami ACID, które odnoszą się do realizacji transakcji, wymóg trwałości (ang. durability) oznacza, że

A. dane zatwierdzone przez transakcję powinny być dostępne niezależnie od wydarzeń, które nastąpią po jej zakończeniu
B. w trakcie wykonywania transakcji dane mogą być zmieniane przez inne transakcje
C. w przypadku naruszenia spójności bazy danych transakcja usuwa tabele z kluczami obcymi
D. transakcja może w pewnych okolicznościach być podzielona na dwa niezależne etapy
Trwałość (czyli durability) w bazach danych to taka cecha, która mówi, że jak już zatwierdzisz transakcję, to wszystkie zmiany zostaną na zawsze w systemie. To znaczy, że niezależnie od tego, co się później wydarzy, jak na przykład awaria, Twoje dane są bezpieczne. To naprawdę ważne, bo pozwala na utrzymanie spójności i pewności, że system działa tak, jak powinien. Weźmy na przykład systemy bankowe. Gdy robisz przelew, musisz być pewien, że pieniądze poszły tam, gdzie miały, nawet jak serwer padnie tuż po zakończeniu transakcji. Dobrze jest mieć też takie mechanizmy, jak zapisywanie dzienników, które pomagają odtworzyć dane, jeśli coś pójdzie nie tak. Trwałość to kluczowa sprawa w projektowaniu baz danych, bo buduje zaufanie użytkowników oraz pozwala spełnić różne normy i regulacje.

Pytanie 17

W celu uzyskania efektu widocznego na rysunku, w kodzie HTML, należy umieścić znacznik skrótu <abbr> z atrybutem

Ilustracja do pytania
A. alt
B. name
C. title
D. dfn
Gratulacje, to jest prawidłowa odpowiedź. Znacznik &lt;abbr&gt; w HTML jest używany do określenia skrótu lub akronimu. Atrybut 'title' jest używany w połączeniu z tym znacznikiem, aby dostarczyć pełną formę skrótu, która jest wyświetlana, gdy użytkownik najedzie na skrót. Jest to zgodne ze standardami i dobrymi praktykami branżowymi, które zalecają ułatwianie zrozumienia treści dla wszystkich użytkowników, w tym tych z dysfunkcjami. Atrybut 'title' jest zatem przydatny, gdy skrót jest ryzykowny lub ma wiele znaczeń. Na przykład, skrót 'WHO' może oznaczać 'World Health Organization' lub 'Whois protocol' w zależności od kontekstu. Dlatego atrybut 'title' pomaga wyjaśnić zamierzone znaczenie.

Pytanie 18

W CSS wartości: underline, overline, line-through oraz blink odnoszą się do właściwości

A. text-align
B. font-decoration
C. font-style
D. text-decoration
W języku CSS właściwość text-decoration służy do definiowania stylów dekoracji tekstu. Wartości takie jak underline (podkreślenie), overline (nadkreślenie), line-through (przekreślenie) oraz blink (miganie) są częścią tej właściwości i umożliwiają programistom kontrolowanie, jak tekst jest prezentowany na stronie internetowej. Wartość underline, na przykład, jest powszechnie używana w linkach, aby wskazać, że są one klikalne. Przykład zastosowania: 'text-decoration: underline;' zastosowany w stylach CSS dla elementu <a> sprawia, że tekst linku jest podkreślony. Overline może być używane do dodawania linii nad tekstem, co może być przydatne w kontekście nagłówków lub wyróżnień. Wartość line-through jest często stosowana w przypadku prezentowania informacji o promocjach, gdzie oryginalna cena jest przekreślona. Wartość blink, choć nie jest już szeroko wspierana, mogła być używana w przeszłości do tworzenia efektu migania tekstu. Wszystkie te dekoracje są zdefiniowane w standardzie CSS, co czyni text-decoration kluczową właściwością w stylizacji tekstu w dokumentach HTML.

Pytanie 19

Element <meta charset="utf-8"> definiuje metadane odnoszące się do strony internetowej dotyczące

A. języka używanego na stronie
B. opisu witryny
C. słów kluczowych
D. kodowania znaków
Element <meta charset="utf-8"> jest kluczowym składnikiem metadanych w dokumentach HTML, który określa sposób kodowania znaków używanych na stronie internetowej. Użycie kodowania UTF-8, które jest najczęściej stosowanym standardem, pozwala na wyświetlanie różnorodnych znaków z różnych języków, w tym znaków diakrytycznych. Dzięki temu, strony internetowe mogą być dostępne dla szerokiego grona użytkowników bez obaw o błędy związane z wyświetlaniem tekstu. Kiedy przeglądarka internetowa napotyka ten element, wie, że powinna interpretować zawartość dokumentu zgodnie z określonym kodowaniem. Jest to szczególnie ważne w kontekście globalizacji internetu, gdzie treści mogą być tworzone w wielu językach. Ustalając odpowiednie kodowanie, programiści minimalizują ryzyko wystąpienia problemów z wyświetlaniem, takich jak zamienione znaki czy nieczytelne fragmenty tekstu. Właściwe ustawienie metadanych jest zgodne z wytycznymi W3C oraz zaleceniami dla twórców stron internetowych, co czyni ten element niezbędnym w każdej współczesnej witrynie.

Pytanie 20

Po uszkodzeniu serwera bazy danych, aby jak najszybciej przywrócić pełną bazę, należy użyć:

A. najnowszej wersji instalacyjnej serwera
B. opisów struktur danych w tabelach
C. kompletnej listy użytkowników serwera
D. aktualnej kopii zapasowej
Po uszkodzeniu serwera najszybciej odtworzysz PEŁNĄ bazę z aktualnej KOPII ZAPASOWEJ (backupu) - zawiera ona zarówno strukturę, jak i dane. Dlatego regularne kopie to podstawa bezpieczeństwa: im świeższy backup, tym mniejsza strata. Zapamiętaj: awaria danych = przywrócenie z kopii zapasowej.

Pytanie 21

Co zwróci w PHP empty($a), gdy $a ma wartość 0?

A.
FALSE
B.
TRUE
C.
0
D.
NULL
Funkcja empty() sprawdza, czy zmienna jest „pusta”, a w PHP za pustą uznaje się m.in. wartość 0, pusty napis, null i false. Skoro $a wynosi 0, empty($a) zwróci TRUE. Dlatego wynikiem jest TRUE.

Pytanie 22

Który z elementów jest opcjonalny w kodzie HTML5 i jego pominięcie nie spowoduje wygenerowania błędu lub ostrzeżenia walidatora HTML?

A. <!DOCTYPE html>
B. <html lang="pl">
C. <meta name="keywords" content="">
D. <title>Tytuł strony</title>
Poprawnie – właśnie znacznik meta z atrybutem name="keywords" jest w HTML5 całkowicie opcjonalny i jego brak nie powoduje żadnych błędów walidacji. Ten element był kiedyś używany głównie do pozycjonowania stron w wyszukiwarkach, ale w aktualnych wytycznych SEO praktycznie wszystkie większe wyszukiwarki (Google, Bing itd.) ignorują meta keywords. Z punktu widzenia specyfikacji HTML5 jest to zwykły, opcjonalny metatag: możesz go użyć, ale w żaden sposób nie jest wymagany do poprawnej struktury dokumentu. Validator W3C nie zgłasza ostrzeżeń, jeśli go nie ma, bo nie jest to element strukturalny, tylko dodatkowa informacja opisowa.

W praktyce, w nowoczesnych projektach webowych, meta name="keywords" często się po prostu pomija. Dużo ważniejsze są inne meta tagi, np. meta charset, meta name="viewport" dla responsywności czy meta name="description", która jest używana w wynikach wyszukiwania. Możesz mieć całkowicie poprawny, walidujący się dokument HTML5 zaczynający się od <!DOCTYPE html>, z elementem html z atrybutem lang, poprawnie zdefiniowaną sekcją head z tytułem strony i bez ani jednego meta keywords – i to jest jak najbardziej zgodne ze standardem.

Moim zdaniem dobrze jest znać historię tego znacznika: kiedyś nauczyciele i różne stare kursy mocno go promowały, dlatego wciąż pojawia się w kodzie. Ale w aktualnych projektach lepiej skupić się na semantycznym HTML, dostępności (ARIA, poprawne nagłówki), porządnych opisach w meta description i na poprawnej strukturze dokumentu. Meta keywords możesz traktować jako ciekawostkę z dawnych czasów, a nie obowiązkowy element kodu.

Pytanie 23

Co nada polecenie

GRANT SELECT, INSERT, UPDATE ON klienci TO anna;
(anna nie miała wcześniej praw)?
A. prawa do wybierania, wstawiania i aktualizacji DANYCH w tabeli klienci
B. prawa do zmiany struktury wszystkich tabel bazy
C. prawa do dodawania kolumn i zmiany STRUKTURY tabeli klienci
D. prawa do danych we WSZYSTKICH tabelach bazy
GRANT SELECT, INSERT, UPDATE ON klienci TO anna; nadaje użytkowniczce anna prawa do operacji na DANYCH konkretnej tabeli klienci: odczytu (SELECT), wstawiania (INSERT) i aktualizacji (UPDATE). Dlatego nadaje prawa do wybierania, wstawiania i aktualizacji danych w tabeli klienci.

Pytanie 24

W poleceniu CREATE TABLE zastosowanie klauzuli PRIMARY KEY przy definiowaniu kolumny tabeli spowoduje, że ta kolumna stanie się

A. kluczem podstawowym
B. indeksem klucza
C. indeksem unikalnym
D. kluczem obcym
Użycie klauzuli PRIMARY KEY w instrukcji CREATE TABLE pozwala na zdefiniowanie unikalnego identyfikatora dla każdego rekordu w tabeli. Klucz podstawowy zapewnia, że żadne dwa wiersze nie mogą mieć tej samej wartości w kolumnie, co jest kluczowe dla zachowania integralności danych. Przykładem praktycznym może być stworzenie tabeli użytkowników, gdzie 'id_użytkownika' jest kluczem podstawowym. Taki klucz może być typu INTEGER z automatycznym inkrementowaniem, co oznacza, że dla każdego nowego użytkownika wartość 'id_użytkownika' wzrasta automatycznie. Standardy branżowe zalecają definiowanie klucza podstawowego dla każdej tabeli, aby upewnić się, że rekordy można w sposób jednoznaczny zidentyfikować, co jest niezbędne dla relacyjnych baz danych. Dodatkowo, klucz podstawowy automatycznie tworzy indeks na tej kolumnie, co przyspiesza operacje wyszukiwania. Ważne jest, aby klucz podstawowy był dobrze przemyślany, ponieważ jego zmiana w przyszłości może wiązać się z dużymi komplikacjami w bazie danych.

Pytanie 25

W SQL, aby w tabeli Towar dodać kolumnę rozmiar typu znakowego z maksymalną długością 20 znaków, jakie polecenie należy wykonać?

A. ALTER TABLE Towar CREATE COLUMN rozmiar varchar(20)
B. ALTER TABLE Towar ALTER COLUMN rozmiar varchar(20)
C. ALTER TABLE Towar DROP COLUMN rozmiar varchar(20)
D. ALTER TABLE Towar ADD rozmiar varchar(20)
Odpowiedź 'ALTER TABLE Towar ADD rozmiar varchar(20);' jest poprawna, ponieważ polecenie ALTER TABLE jest używane do modyfikacji struktury istniejącej tabeli. W tym przypadku chcemy dodać nową kolumnę o nazwie 'rozmiar', a typ 'varchar(20)' oznacza, że kolumna ta będzie przechowywać dane tekstowe o maksymalnej długości 20 znaków. Jest to standardowa praktyka w języku SQL, która pozwala na elastyczne zarządzanie danymi w bazach danych. Przykładem zastosowania może być sytuacja, w której w tabeli 'Towar' chcemy przechowywać informacje o rozmiarze odzieży, co pomaga w lepszym zarządzaniu stanem magazynowym. Prawidłowe zweryfikowanie typów kolumn i ich ograniczeń jest kluczowe dla zapewnienia integralności danych. Warto także pamiętać o tym, że operacje na strukturze bazy danych powinny być przeprowadzane z zachowaniem odpowiednich zasad, takich jak wykonywanie kopii zapasowych przed wprowadzeniem zmian oraz testowanie zmian w środowisku deweloperskim przed wdrożeniem ich w środowisku produkcyjnym.

Pytanie 26

$z = mysqli_query($db, "SELECT ulica, miasto, kod_pocztowy FROM adresy");
$a = mysqli_fetch_row($z);
echo "$a[1], $a[2]";
W języku PHP zapisano fragment kodu działającego na bazie MySQL. Jego zadaniem jest wypisanie
A. ulicy i miasta ze wszystkich zwróconych rekordów
B. ulicy i miasta z pierwszego zwróconego rekordu
C. miasta i kodu pocztowego z pierwszego zwróconego rekordu
D. miasta i kodu pocztowego ze wszystkich zwróconych rekordów
Kod PHP wykonuje zapytanie do bazy danych przy użyciu funkcji mysqli_query co powoduje pobranie wszystkich rekordów z kolumn ulica miasto i kod_pocztowy z tabeli adresy jednak funkcja mysqli_fetch_row pobiera tylko pierwszy rekord z wynikowego zbioru danych. Jest to kluczowy aspekt ponieważ mysqli_fetch_row nie iteruje automatycznie przez wszystkie rekordy co jest częstym błędem w interpretacji działania tej funkcji. Często mylnie zakłada się że funkcja echo w połączeniu z pętlą może obsłużyć cały zestaw danych co w kontekście tego kodu nie ma miejsca ponieważ pętla nie została użyta. Zrozumienie działania funkcji takich jak mysqli_fetch_row jest kluczowe dla poprawnego przetwarzania danych z bazy. Indeksowanie w tablicach wynikowych zaczyna się od zera dlatego też $a[1] i $a[2] odnoszą się do drugiego i trzeciego elementu tablicy a nie pierwszego i drugiego co również jest częstym źródłem błędów wśród początkujących programistów. Ponadto brak zrozumienia że echo wypisuje wartości z jednego rekordu a nie wszystkich może prowadzić do błędnych założeń w projektowaniu logiki aplikacji. Aby uzyskać dane ze wszystkich rekordów konieczne byłoby zastosowanie pętli takiej jak while która iterowałaby przez cały zbiór wyników co pokazuje różnicę w podejściu między pobieraniem pojedynczego rekordu a całego zestawu danych. Zrozumienie tych koncepcji jest istotne dla efektywnego i bezpiecznego korzystania z bazy danych w aplikacjach PHP i pozwala na unikanie typowych błędów związanych z przetwarzaniem rekordów z bazy danych. Dokładne zrozumienie struktury tablic wynikowych i sposobu ich przetwarzania jest niezbędne do rozwijania wydajnych i bezpiecznych aplikacji webowych. Warto również pamiętać o zabezpieczeniach takich jak użycie przygotowanych zapytań SQL by uniknąć ataków typu SQL Injection co jest istotnym aspektem tworzenia aplikacji bezpiecznych i odpornych na próby nieautoryzowanego dostępu.

Pytanie 27

W języku SQL wykonano przedstawione poniżej polecenia GRANT. Kto będzie miał prawo do przeglądania danych oraz ich zmiany?

GRANT ALL ON firmy TO 'adam'@'localhost';
GRANT ALTER, CREATE, DROP ON firmy TO 'anna'@localhost;
GRANT SELECT, INSERT, UPDATE ON firmy TO 'tomasz'@'localhost';
A. Adam i Anna
B. Jedynie Tomasz
C. Anna i Tomasz
D. Tomasz i Adam
Odpowiedź 'Tomasz i Adam' jest poprawna, ponieważ obaj użytkownicy mają przypisane odpowiednie uprawnienia do przeglądania oraz modyfikacji danych w bazie 'firmy'. Adam otrzymał pełne uprawnienia, co oznacza, że może przeglądać (SELECT) oraz modyfikować (INSERT, UPDATE, DELETE) dane, a także zmieniać strukturę tabel (ALTER, CREATE, DROP). Tomasz, z kolei, ma przydzielone szczegółowe uprawnienia do przeglądania danych (SELECT) oraz ich modyfikacji (INSERT, UPDATE). W praktyce, przydzielanie uprawnień w bazach danych odbywa się zgodnie z zasadą minimalnych uprawnień, co oznacza, że każdy użytkownik powinien mieć tylko te uprawnienia, które są mu niezbędne do realizacji przydzielonych zadań. Dobrą praktyką jest regularna weryfikacja przydzielonych uprawnień oraz ich dostosowywanie do zmieniających się potrzeb organizacji.

Pytanie 28

Zawarta baza danych składa się z trzech tabel oraz dwóch relacji. Aby uzyskać informacje o wszystkich lekarzach przypisanych do wybranego pacjenta, konieczne jest porównanie kluczy

Ilustracja do pytania
A. Lekarze.id = Pacjenci.Recepty_id
B. Lekarze.id = Recepty.id
C. Lekarze.id = Pacjenci.id
D. Lekarze.id = Pacjenci.Lekarze_id
Odpowiedź Lekarze.id = Pacjenci.Lekarze_id jest poprawna, ponieważ w bazach danych relacyjne połączenie między tabelami jest realizowane przez klucze obce. Tabela Pacjenci zawiera kolumnę Lekarze_id, która jest kluczem obcym odnoszącym się do kolumny id w tabeli Lekarze. Dzięki temu połączeniu możemy określić, który lekarz jest przypisany do danego pacjenta. W praktyce oznacza to, że możemy wykonywać zapytania SQL, które łączą te tabele i wyświetlają dane wszystkich lekarzy przypisanych do konkretnego pacjenta. Przykładowe zapytanie SELECT może wyglądać tak SELECT Lekarze.imie Lekarze.nazwisko FROM Pacjenci INNER JOIN Lekarze ON Pacjenci.Lekarze_id = Lekarze.id WHERE Pacjenci.id = [id_pacjenta]. Takie podejście jest zgodne z dobrymi praktykami projektowania baz danych zgodnie z zasadami normalizacji co zwiększa spójność i integralność danych. Poprawne użycie kluczy obcych jest fundamentalne w kontekście zarządzania relacjami między danymi oraz umożliwia przeprowadzanie bardziej złożonych analiz danych z różnych tabel w sposób wydajny i bezpieczny.

Pytanie 29

Która kwerenda ustawi wartość 0 w kolumnie przebieg tabeli samochody?

A.
UPDATE samochody SET przebieg = 0;
B.
UPDATE przebieg SET 0 FROM samochody;
C.
UPDATE przebieg SET 0 TABLE samochody;
D.
UPDATE samochody SET przebieg VALUE 0;
Zmianę wartości w kolumnie wykonuje UPDATE tabela SET kolumna = wartość, więc wyzerowanie przebiegu to UPDATE samochody SET przebieg = 0; (bez WHERE obejmie wszystkie wiersze). Dlatego ta kwerenda jest poprawna.

Pytanie 30

W skrypcie napisanym w języku PHP należy przeprowadzić operacje, gdy spełniony jest warunek, że adresy są parzystymi numerami na ulicach: Bratkowej oraz Nasturcjowej. Jakie wyrażenie logiczne to określa?

A. ($ulica == "Bratkowa" || $ulica == "Nasturcjowa") && $numer % 2 == 0
B. ($ulica == "Bratkowa" || $ulica == "Nasturcjowa") && $numer / 2 == 0
C. $ulica == "Bratkowa" && $ulica == "Nasturcjowa" && $numer % 2 == 0
D. $ulica == "Bratkowa" && $ulica == "Nasturcjowa" && $numer / 2 == 0
Wyrażenie logiczne ($ulica == "Bratkowa" || $ulica == "Nasturcjowa") && $numer % 2 == 0 jest poprawne, ponieważ łączy dwa istotne warunki: sprawdzenie, czy ulica jest jedną z dozwolonych (Bratkowa lub Nasturcjowa) oraz weryfikacja, czy numer adresu jest parzysty. Operator || (lub) skutkuje tym, że tylko jeden z warunków ulicy musi być prawdziwy, aby wyrażenie było spełnione. Z kolei operator % (modulo) skutkuje sprawdzeniem reszty z dzielenia przez 2, co jest standardowym podejściem do ustalania, czy liczba jest parzysta. W kontekście programowania w PHP, takie konstrukcje są powszechnie używane w celu walidacji danych wejściowych. Na przykład w formularzach rejestracyjnych, aby upewnić się, że użytkownik wprowadza prawidłowe informacje, można zastosować podobne wyrażenia. Warto również zauważyć, że jest to zgodne z dobrymi praktykami programowania, które zachęcają do stosowania czytelnych i zrozumiałych warunków logicznych, co ułatwia późniejsze utrzymanie kodu i jego rozbudowę.

Pytanie 31

Które spośród poniższych zdań dotyczących definicji funkcji umieszczonej w ramce jest prawidłowe?

function czytajImie(){
var imie=null;
do{
imie=prompt("podaj imie: ");
if(imie.length<3) alert("wprowadzony tekst jest niepoprawny");
}while(imie.length<3);
}
A. Pętla wykona się tylko jeden raz
B. Funkcja zawiera pętlę, która powtarza się 3 razy
C. Wczytywanie tekstu zakończy się, gdy tekst będzie się składał przynajmniej z 3 znaków
D. Tekst będzie odczytywany do chwili, gdy podana zostanie liczba większa niż 3
W analizowanej funkcji głównym celem jest zapewnienie, że użytkownik wprowadza imię o odpowiedniej długości. Pętla do while jest strukturą sterującą stosowaną, gdy chcemy, aby blok kodu wykonał się co najmniej raz przed sprawdzeniem warunku. W tym przypadku pętla nie wykona się tylko raz, ponieważ warunek jest taki, że imię musi mieć co najmniej trzy znaki długości. Błędne zrozumienie logiki mogłoby wynikać z myślenia, że pętla zawsze kończy się po pierwszym wykonaniu, co jest nieprawidłowe w kontekście tej funkcji. Odnośnie twierdzenia, że funkcja posiada pętlę powtarzającą się trzy razy, jest ono nieprawdziwe, ponieważ liczba iteracji nie jest stała i zależy od danych wejściowych użytkownika. Często mylne jest założenie, że pętle mają z góry określoną liczbę iteracji, podczas gdy w rzeczywistości często kończą się na podstawie zdefiniowanego warunku logicznego. Wreszcie, opcja mówiąca o wczytywaniu tekstu do momentu podania liczby większej niż 3 błędnie interpretuje warunek pętli. Warunek mówi o długości wprowadzonego tekstu, a nie o jego wartości liczbowej. Często błędnie zakłada się, że każdy warunek logiczny odnosi się do wartości liczbowych, co w tym przypadku prowadzi do nieporozumienia. Zrozumienie, jak działają warunki logiczne i pętle kontrolne, jest kluczowe w programowaniu, ponieważ pozwala to na tworzenie bardziej elastycznego i dynamicznego kodu, który odpowiednio reaguje na różne dane wejściowe.

Pytanie 32

W którym z poniższych przykładów walidacja fragmentu kodu CSS zakończy się sukcesem?

A. p { text-size:bold; }
B. <p style="font-size:bold;">
C. p { font-weight:bold; }
D. <p style="font-style:bold;">
Odpowiedź p { font-weight:bold; } jest poprawna, ponieważ jest zgodna z obowiązującą składnią CSS. W tym przypadku użyto selektora typu, który odnosi się do wszystkich elementów <p> w dokumencie HTML, a właściwość font-weight umożliwia ustawienie grubości czcionki. Wartością 'bold' informujemy przeglądarkę, aby wyświetliła tekst w pogrubionej formie, co jest częstą praktyką w stylizacji tekstu. Stosowanie selektorów typu w CSS pozwala na efektywne zarządzanie stylami w całym dokumencie, zatem jest to zgodne z najlepszymi praktykami projektowania stron internetowych. Przykładowo, w celu nadania pogrubienia wszystkim nagłówkom w dokumencie, można by użyć: h1, h2, h3 { font-weight: bold; }. Zastosowanie takiej reguły pozwala na łatwe i szybkie wprowadzenie zmian w stylu dokumentu, co jest kluczowe w kontekście responsywnego projektowania i modernizacji stron. Dobre praktyki wskazują, aby unikać inline styles (stylów wewnętrznych) na rzecz zewnętrznych arkuszy stylów, co poprawia przejrzystość i utrzymanie kodu.

Pytanie 33

Który efekt został zaprezentowany na filmie?

A. Zwiększenie ostrości zdjęcia.
B. Zmiana jasności zdjęć.
C. Zmniejszenie kontrastu zdjęcia.
D. Przenikanie zdjęć.
Poprawnie wskazany efekt to przenikanie zdjęć, często nazywane też płynnym przejściem (ang. crossfade). Polega to na tym, że jedno zdjęcie stopniowo zanika, jednocześnie drugie pojawia się z narastającą widocznością. W praktyce technicznej realizuje się to najczęściej przez zmianę przezroczystości (opacity) dwóch warstw – jedna warstwa z pierwszym obrazem ma zmniejszaną wartość opacity z 1 do 0, a druga z kolejnym zdjęciem zwiększaną z 0 do 1. Na stronach WWW taki efekt robi się zwykle za pomocą CSS (transition, animation, keyframes) albo JavaScriptu, czasem z użyciem bibliotek typu jQuery czy gotowych sliderów. Moim zdaniem to jest jeden z podstawowych efektów, który warto umieć odtworzyć, bo pojawia się w galeriach, sliderach na stronach głównych, prezentacjach produktów czy prostych pokazach slajdów. W materiałach multimedialnych, np. w edycji wideo, dokładnie ten sam efekt nazywa się przejściem typu „cross dissolve” lub „fade”, i zasada działania jest identyczna – płynne nakładanie się dwóch klatek obrazu w czasie. Dobre praktyki mówią, żeby nie przesadzać z czasem trwania przenikania: zwykle 0,5–1,5 sekundy daje przyjemny, profesjonalny wygląd, bez wrażenia „zamulenia” interfejsu. Warto też pilnować spójności – jeśli na stronie używasz przenikania w jednym miejscu, dobrze jest utrzymać podobny styl animacji w innych elementach, żeby całość wyglądała konsekwentnie i nie rozpraszała użytkownika. W kontekście multimediów na WWW przenikanie jest też korzystne wydajnościowo, bo operuje głównie na właściwości opacity i transformacjach, które przeglądarki potrafią optymalizować sprzętowo.

Pytanie 34

Kto odpowiada za ciągłe przygotowanie systemu bazy danych do pracy, zarządzanie kontami użytkowników i instalowanie aktualizacji systemu bazodanowego?

A. twórcy narzędzi deweloperskich
B. projektanci i programiści SZBD
C. administratorzy serwerów i sieci
D. administratorzy systemu bazy danych
Za bieżącą pracę bazy danych odpowiada administrator bazy danych (DBA - Database Administrator). Do jego zadań należą: zapewnienie ciągłej dostępności i wydajności bazy, zakładanie i zarządzanie kontami użytkowników oraz ich uprawnieniami, wykonywanie kopii zapasowych, monitorowanie oraz instalowanie aktualizacji systemu bazodanowego. Dba też o bezpieczeństwo danych. Dlatego opisane obowiązki pełni administrator systemu bazy danych.

Pytanie 35

Rekord w bazie danych jest jednoznacznie identyfikowany przez pole:

A. klucza podstawowego
B. numeryczne
C. klucza obcego
D. relacji
Klucz OBCY służy do powiązań między tabelami, a nie do identyfikacji rekordu. Samo pole numeryczne nie gwarantuje unikalności, a „pole relacji” nie jest pojęciem identyfikatora. Rekord identyfikuje klucz podstawowy.

Pytanie 36

W kodzie HTML zamieszczono link do strony internetowej:

<a href="http://google.com">strona Google</a>
Jakie dodatkowe zmiany należy wprowadzić, aby link otwierał się w nowym oknie lub zakładce przeglądarki, dodając do definicji linku odpowiedni atrybut?
A. target = "_parent"
B. rel = "external"
C. target = "_blank"
D. rel = "next"
Atrybut target w HTML ma na celu określenie, w jaki sposób ma być otwierany odnośnik. Wartość _blank wskazuje przeglądarkę, że nowa strona powinna zostać otwarta w nowym oknie lub zakładce. Jest to istotne dla poprawy użyteczności strony internetowej, gdyż użytkownicy mogą łatwo wrócić do oryginalnej strony po otwarciu nowego linku. W kontekście dobrych praktyk w projektowaniu stron internetowych, otwieranie odnośników w nowym oknie jest zalecane w przypadku linków zewnętrznych, aby użytkownik nie opuścił aktualnej witryny. Przykładem zastosowania jest link do dokumentacji czy zasobów zewnętrznych, gdzie ma to na celu zachowanie kontekstu przeglądania. Stosując ten atrybut, warto jednak pamiętać o tym, aby nie nadużywać go, ponieważ może to być irytujące dla użytkowników, którzy wolą kontrolować, kiedy nowe okno jest otwierane. Warto również pamiętać, że w nowoczesnych standardach HTML5 atrybut target jest często stosowany w połączeniu z atrybutem rel, aby określić, czy link jest zaufany czy nie. Umożliwia to jeszcze lepsze zarządzanie bezpieczeństwem użytkowników.

Pytanie 37

Gdzie w dokumencie HTML można umieścić kod JavaScript?

A. tylko w <head>, w znaczniku <script>
B. w <head> i <body>, w znaczniku <script>
C. w <head> i <body>, w znaczniku <java>
D. tylko w <body>, w znaczniku <java>
Kod JavaScript umieszcza się w znaczniku <script>, który można wstawić zarówno w <head>, jak i w <body>. Dlatego poprawne jest: w <head> i <body>, w znaczniku <script>.

Pytanie 38

Hermetyzacja to zasada programowania obiektowego, która mówi, że

A. klasy/obiekty mogą definiować metody wirtualne, które są realizowane w klasach/obiektach pochodnych
B. pola i metody dostępne tylko dla konkretnej klasy/obiektu mają zasięg ograniczony do private lub protected
C. typy pól w klasach/obiektach mogą być zmieniane w sposób dynamiczny w zależności od przypisywanych danych
D. klasy/obiekty mogą dzielić się funkcjonalnością
Hermetyzacja, jako kluczowa zasada programowania obiektowego, odnosi się do kontrolowania dostępu do pól i metod w klasach. Oznacza to, że elementy, które nie powinny być dostępne z zewnątrz, są oznaczane jako private lub protected. Dzięki temu, tylko metody danej klasy mają dostęp do tych elementów, co minimalizuje ryzyko niepożądanej modyfikacji danych oraz promuje enkapsulację. Na przykład, tworząc klasę `BankAccount`, możemy mieć pole `balance` oznaczone jako private. W ten sposób, dostęp do tego pola jest możliwy jedynie poprzez publiczne metody, takie jak `deposit` czy `withdraw`, co pozwala na kontrolowanie logiki biznesowej. Takie podejście jest zgodne z zasadami SOLID, a szczególnie z zasadą odpowiedzialności pojedynczej, ponieważ klasa ma pełną kontrolę nad swoją logiką. Dodatkowo, hermetyzacja ułatwia późniejsze zmiany w implementacji, nie wpływając na inne części aplikacji, które korzystają z tych klas.

Pytanie 39

Którą instrukcją można zastąpić pętlę for?

A.
continue
B.
case
C.
while
D.
switch
Pozostałe konstrukcje nie są pętlami. case to etykieta wewnątrz switch, switch wybiera wariant, a continue tylko przeskakuje do następnej iteracji wewnątrz pętli. Pętlę for zastępuje while.

Pytanie 40

Z którego z pól klasy

class Dane {
    public $a;
    private $b;
    protected $c;
}
będzie można uzyskać dostęp z zewnątrz przy użyciu obiektu stworzonego jako instancja tej klasy?
A. Do pola $c.
B. Do wszystkich pól.
C. Do pola $b.
D. Do pola $a.
Odpowiedź 'Do pola $a' jest prawidłowa, ponieważ pole $a jest zdefiniowane jako publiczne, co oznacza, że jest dostępne z zewnątrz dla instancji klasy oraz dla kodu, który jest poza tą klasą. W praktyce, gdy tworzysz obiekt klasy Dane, możesz łatwo uzyskać dostęp do tego pola, na przykład za pomocą $obiekt->a. Zastosowanie publicznych pól jest typowe, gdy chcesz, aby dane były szeroko dostępne, na przykład w interfejsach API lub podczas tworzenia prostych klas modelujących dane. W przypadku pól prywatnych oraz chronionych, dostęp do nich jest ograniczony. Pole $b jest prywatne, co oznacza, że może być używane tylko wewnątrz tej samej klasy, a pole $c, będące chronionym, może być używane przez klasę i jej podklasy, ale nie przez kod zewnętrzny. Warto zaznaczyć, że dobre praktyki programowania obiektowego sugerują ograniczanie dostępu do pól, co sprzyja enkapsulacji i ochronie integralności danych, a publiczne pola należy stosować z ostrożnością, aby nie naruszyć zasad projektowania systemów oprogramowania.