Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Programowanie webowe PHP

Instrukcja języka PHP tworząca obiekt $pkt dla zdefiniowanej w ramce klasy Punkt ma postać

class Punkt {  public $x;
                public $y;  }
A.
$pkt = new Punkt();
Dobrze. Operator new tworzy obiekt klasy Punkt, a przypisanie zapisuje go w zmiennej z dolarem.
B.
$pkt Punkt();
Źle. Brakuje operatora new i znaku przypisania, więc interpreter zgłosi błąd składni.
C.
Punkt() $pkt;
Źle. To wywołanie funkcji Punkt i luźna zmienna obok. Obiektu tworzonego bez new nie ma.
D.
$pkt Punkt;
Źle. PHP nie ma deklaracji w stylu typ i nazwa. Bez new i przypisania to błąd składni.

Opracowane na podstawie zadania CKE, wrzesień 2014 (arkusz E.14-X-14.08): W arkuszu przed nazwą obiektu pkt brakowało znaku dolara. Bez niego żaden zapis nie jest poprawnym kodem PHP.

Obiekt klasy tworzy się w PHP operatorem new: $pkt = new Punkt();. Operator rezerwuje pamięć na nowy obiekt, wywołuje konstruktor klasy, jeśli go zdefiniowano, i zwraca obiekt, który trafia do zmiennej. Jak każda zmienna w PHP, ta też zaczyna się od znaku dolara.

Po utworzeniu obiektu do jego pól odwołuje się strzałką: $pkt->x = 5; i echo $pkt->y;. Nawiasy po nazwie klasy przekazują argumenty konstruktora, np. new Punkt(3, 4), a gdy konstruktor nic nie przyjmuje, można je pominąć. Ta sama konstrukcja z new występuje w JavaScripcie, Javie i C#.

Zapisy bez słowa new przypominają deklaracje z C++, gdzie Punkt pkt; od razu tworzy obiekt. PHP nie deklaruje typu przed nazwą zmiennej, więc $pkt Punkt; to dla interpretera dwa słowa obok siebie bez operatora i kończy się błędem składni.

Zapis $pkt Punkt(); wygląda jak wywołanie funkcji Punkt, ale między zmienną a wywołaniem nie ma ani przypisania, ani operatora. Z kolei Punkt() $pkt; to wywołanie nieistniejącej funkcji Punkt, po którym stoi luźna zmienna, czyli również błąd składni.

Zapamiętaj: w PHP obiekt powstaje zawsze z trzech elementów: zmienna z dolarem, znak przypisania i new NazwaKlasy().

Błąd składni widać od razu po uruchomieniu skryptu: PHP przerywa pracę z komunikatem Parse error i numerem wiersza. Warto czytać ten numer, bo wskazuje miejsce, w którym interpreter przestał rozumieć zapis.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.