Konstrukcja PHP: tworzenie instancji klas

Idea programowania obiektowego jest znacznie szersza niż możliwości PHP ze względu na swoją specyfikę, ale nawet w obecnej implementacji daje programistom nieograniczone możliwości. Konstrukcja konstruktu PHP jest specjalną metodą klasy (obiektu), która jest wywoływana za każdym razem, gdy tworzona jest instancja klasy.

Ograniczeniem jest to, że PHP działa w momencie generowania strony. W momencie, gdy strona jest aktualizowana lub pobierana na inną stronę tej samej witryny, wymagany system obiektów jest ponownie tworzony od zera.


Utwórz instancję klasy

Opis klasy nie musi mieć konstruktora. Jeśli chcesz przygotować początkowe wartości zmiennych, uchwycić moment, w którym tworzona jest instancja klasy (obiekt), aby wykonać pewne akcje nad innymi obiektami, nie możesz użyć składni konstrukcji klasy PHP i napisać odpowiedniego kodu poza metodami klasy. Zgodnie z logiką zorientowanego obiektowo stylu programowania, każda klasa musi mieć konstruktor, ponadto konieczne jest uruchomienie drzewa klas od najbardziej abstrakcyjnego (całkowicie pustego) przodka. To relikt przeszłości, a nie rozsądna praktyka. Kiedy genealogia zaczyna się od znaczącej klasy, która ma swoje własne dane i właściwości związane z zewnętrznymi danymi (obiektami), bez funkcji konstrukt PHP nie może tego zrobić.
W tym przykładzie podczas tworzenia (PHP construct) instancji klasy daty zostanie wywołana ta funkcja (constructor). Ma określoną nazwę __construct i jest wywoływana przez automat tylko raz, gdy tworzona jest instancja klasy.
W tej klasiedostarcza zmienną statyczną $ iUniqueNo, która w każdej nowej instancji tej klasy będzie mieć unikalną wartość. Kopie klas nie mają ze sobą nic wspólnego oprócz opisu w składni PHP i dostarczonego przez twórcę interakcji ich metod.


logika inicjalizacji Dziedziczenie

Każdy obiekt musi realizować swój cel, aby mieć coś, co do niego należy, i robić to, co należy. Z tak rozsądnego punktu widzenia inicjalizacja na każdym poziomie rodowodu może obejmować inicjalizację u każdego przodka, spowodowaną przez potomka.
W tym przykładzie klucz parent :: umożliwia wywołanie konstruktora przodka z poziomu potomka. Semantyka jest prosta. Najpierw musisz zainicjować swojego przodka, a następnie bieżącą instancję. Pierwszy podąża za swoją logiką, drugi jest jego własną. Kiedy każdy obiekt, który zajmuje się jego działalnością, cały proces wygląda prawidłowo i zrozumiale. Ale ta reguła nie powinna być uważana za normę dla wszystkich obiektów systemu.
rodowe obiektów systemowych „żywność” w pierwszym przybliżeniu może mieć coś wspólnego, ale produkty mleczne, arbuz, makarony i płatki śniadaniowe, choć należące do takiego systemu, ale wygląd i opisany zupełnie inaczej. Deweloper musi zbudować każdy system obiektów z zakresu, a nie z tego, co ktoś kiedyś zasugerował. Każde zadanie jest unikalne, wymóg użycia go w konstrukcji macierzystej PHP nie jest bezwzględny.

Projektanci generalni i prywatni

Domyślnie konstruktor jest wspólny i dostępny dlaużycie przez wszystkich potomków. Nie jest konieczne określenie konstruktu funkcji publicznej, PHP domyślnie traktuje wszystko, co jest opisane jako ogólne.
Jak sensowne jest używanie słowa kluczowego prywatnego, gdy projektanci są opisywani - specyfika zadania, cecha procesu rozwoju lub zalety programisty? Z koncepcyjnego punktu widzenia obiektów rodowód może zezwolić żadnych przodków zakazu potomków, ale jako mądry logika jest trudno powiedzieć, w każdym razie, w ogólnym kontekście.

życia obiektu

Koncepcja programowania obiektowego szersze możliwości klasy PHP konstruktu z tego prostego powodu, że te ostatnie istnieje tylko w czasie tworzenia strony odtworzenia go lub utworzenia innej strony.
Udział poprzez AJAX javascript przeglądarka kod i właściwego serwera pomoże przedłużyć żywotność obiektów, ale w każdej postaci będzie ograniczony styl. PHP pozwala na wykonywanie skryptów na serwerze, gdy klient jest „odłączony” i „zapobieganie” klienta z powrotem do skryptu, zanim go uruchomić, ale nie jest to opcja, gdy program obiektowego jest zaimplementowana w języku C ++. W tym ostatnim przypadku można zbudować kompletną obiektów systemowych, które będą trwać wiecznie „, podczas gdy program uruchomiony Jest to jednak tylko to, co może się pochwalić tak jakby stała programowania języka C ++, C #, Pascal & amp;.. Delphi w dynamicznym świecie Internetu wszystko jest zbudowane inaczej, żyje szybciej i osiąga więcej.

Od serializacji do samoobrony

Można znaleźć historyczne uzasadnienie tego terminu"serializacja" i pojawienie się pojęcia "magicznych metod" w życiu codziennym. Ale wszystko jest o wiele łatwiejsze. Dokładnie tak samo jak wolność C ++ od twardości C #, serializacja różni się od elementarnych pojęć:
  • Napisz obiekt z rzędu;
  • odczytuje obiekt z linii.
  • Obserwować słowa magii i magicznych metod - pięknie, głośno, ale mało praktyczne. Świat informacji interesuje przede wszystkim fakt, że wszystko widoczne, słyszalne i namacalne można opisać w prostym i spójnym tekście.
    Informacja zawsze była, jest i będzie ciągiem znaków. Bez względu na naturę. W formalnych konstrukcjach języków programowania natura znaków jest jedna - tabela kodowania. Chodzi o to, aby obiekt obrócić w linię, aby w razie potrzeby można było przywrócić go z linii bez utraty esencji - bardzo praktyczny pomysł.

    od siebie na siebie

    semantyka PZP konstruktora skonstruować w jego składni jest ograniczony, ale, jeśli projektant rozwijać z rosnących pozycjach:
  • po raz pierwszy -, tworzy nowy kopii;
  • to aktualny stan - powstaje istniejąca instancja.
  • Ograniczenie PHP, biorąc pod uwagę, że system obiektów na nim istnieje tylko w momencie tworzenia strony, zostanie usunięty sam.
    Podczas tworzenia systemu obiektów podczas budowania strony można go zapisać. Dla uproszczenia, proces ten niekoniecznie jest nazywany serializacji, może ograniczać się do utrzymania obecnego status quo (pliki bazy danych), aw razie potrzeby ponownie utworzyć tę samą stronę lub utworzyć inny w tym samym miejscu, co po prostu przywrócić aktualny stanrzeczy, które już zostały utworzone. W tym kontekście system obiektów tworzony jest tylko raz, a w procesie witryny dopiero się rozwija. W ramach takiego schematu możliwe jest zaprojektowanie systemu obiektów jako czegoś dostosowującego się do zmieniających się warunków istnienia. Samozachowawczy system obiektów "zapisuje" działania odwiedzającego i stan stron, a za każdym razem, gdy PHP się uruchamia, nie jest tworzony od zera, ale jest przywracany w swoim poprzednim stanie.

    Powiązane publikacje