PHP конструкт: създаване на копия на класове

Идеята за обектно-ориентирано програмиране е много по-широка от възможностите на PHP поради нейната специфичност, но дори и в сегашната си реализация, тя дава на програмиста неограничени възможности. Конструктът на PHP конструкт е специален метод на клас (обект), който се извиква всеки път, когато се създава инстанция на клас.

Ограничението е, че PHP работи по време на генерирането на страници. В момента, когато страницата се актуализира или изтегли на друга страница на същия сайт, необходимата система от обекти се формира от нулата отново.


Създаване на инстанция на клас

Описание на класа не се изисква да има конструктор. Ако искате да подготвите първоначалните стойности на променливите, вземете момента, в който екземплярът на класа (обекта) е създаден, за да извършите определени действия над други обекти, тогава не можете да използвате синтаксиса на конструирането на PHP клас и да напишете съответния код извън класните методи. Според логиката на обектно-ориентирания стил на програмиране, всеки клас трябва да има конструктор, освен това е необходимо да се стартира дърво от класове от най-абстрактния (напълно празен) предшественик. Това е реликва от миналото, а не разумна практика. Когато генеалогията започва със значителен клас, който има свои собствени данни и свойства, свързани с външни данни (обекти), без функцията конструкция PHP не може да направи.
В този пример, когато се създава (PHP конструкт) екземпляр на класа на датата, тази функция (конструктор) ще бъде извикана. Той има специфично име __construct и се извиква от автомат само веднъж, когато се създава инстанция на клас.
В този класосигурява статична променлива $ iUniqueNo, която във всеки нов екземпляр на този клас ще има уникална стойност. Копия от класове нямат нищо общо със себе си в допълнение към описанието в синтаксиса на PHP и осигурени от разработчика на взаимодействието на техните методи.


Наследяване на логиката на инициализация

Всеки обект трябва да реализира своята цел, да има това, към което принадлежи, и да прави каквото трябва. От такава разумна гледна точка инициализацията на всяко ниво на родословието може да включва инициализация във всеки предшественик, причинена от потомката.
В този пример ключът parent :: ви позволява да извикате конструктора на предшественик от нивото на потомството. Семантика е проста. Първо, трябва да инициализирате своя прародител, след това текущата инстанция. Първият следва своята логика, а втората е собствена. Когато всеки обект, който се занимава с неговия бизнес, целият процес изглежда правилно и разбираемо. Но това правило не трябва да се счита за норма за всички системни обекти.
Генеалогията на системата от обекти "храна" в първото приближение може да има нещо общо, но продукти от мляко, диня, макарони и булгур, въпреки че те са свързани с такава система, но изглеждат и се описват съвсем различно. Разработчикът трябва да изгради всяка система от обекти от обхвата, а не от това, което някога е било предлагано на някого. Всяка задача е уникална, изискването да се използва в PHP конструкцията не е абсолютно.

Общи и частни дизайнери

По подразбиране конструкторът е общ и достъпен заизползват от всички поколения. Да не се включва публична функция, конструкция, PHP по подразбиране обмисля всички описани като чести.
Това е логично да се използват ключови думи, описващи частни когато дизайнерите - спецификата на програмист на задача или функция на процеса за развитие предимства? От концептуална гледна точка родословие обекти могат да разрешат на всяка забрана предци срещу потомците, но като умен логика е трудно да се каже, така или иначе, в общия контекст.

живот на обекта

Понятието обектно ориентиран програмен широки възможности PHP конструкт клас за простата причина, че последният съществуват само по време на образуване на страницата това повторно създаване или създаде друга страница.
Участие чрез AJAX JavaScript код в браузъра и правилното сървър ще ви помогне да удължите живота на обекти, но под всякаква форма, той ще бъде ограничен стил. PHP позволява да изпълнява скриптове на сървъра, когато клиентът е "изключен" и "предотвратяване" на клиента обратно към сценария, тя работи и преди, но това не е вариант, когато обектно-ориентиран Програмата се изпълнява в C ++. В последния случай, може да се изгради цялостна система за обекти, които ще траят вечно ", докато програмата и работи Това обаче е само това, което може да се похвали, сякаш фиксиран език за програмиране C ++, C #, Pascal & усилвател;.. Delphi В динамичния свят на Интернет всички построени по различен начин и живее по-бързо и да се постигне повече.

от сериализация за самосъхранение

може да намерите исторически план оправдание"сериализация" и появата на понятието "магически методи" в ежедневието. Но всичко е много по-лесно. Точно същата като свободата на C ++ от твърдостта C #, сериализацията се различава от елементарните понятия:
  • записва обект в ред;
  • четат обекта от линия.
  • Да се ​​наблюдават думите, изговорени с магически и митични магически методи - красиво, силно, но малко практично. Светът на информацията е интересен преди всичко от факта, че всичко видимо, звуково и осезаемо може да бъде описано в прост и последователен текст.
    Информацията винаги е била, е и ще бъде низ от символи. Без значение каква природа. При формалните конструкции на езиците за програмиране характерът на символите е един - кодиращата таблица. Идеята е обектът да се превърне в линия, така че при необходимост да е възможно да се възстанови от линията без да се загуби същността - много практична идея.

    От самосъхранение до саморазвитие

    Семантиката на конструктора на конструкцията на PHP в неговия синтаксис е ограничена, но ако конструкторът трябва да се развива от развиваща се позиция:
  • започва - създава се напълно нов инстанция;
  • е текущото състояние - създава се съществуващ екземпляр.
  • Ограничението на PHP, тъй като системата от обекти върху нея съществува само по време на формирането на страницата, ще бъде премахнато само по себе си.
    Когато създавате система от обекти при изграждането на страница, тя може да бъде запаметена. За простота този процес не се нарича сериализация, той може да се ограничи до запазване на текущото състояние на нещата (бази данни, файлове) и когато е необходимо да се създаде отново същата страница или да се създаде друго на същия сайт, просто възстановете текущото състояниенеща, които вече са били формирани. В този контекст, системата от обекти се създава само веднъж, а в процеса на сайта то просто се развива. При такава схема е възможно да се проектира система от обекти като нещо, което се адаптира към променящите се условия на съществуване. Самосъхраняващата се система от обекти "запазва" действията на посетителя и състоянието на страниците и всеки път, когато PHP започне, не се създава от нулата, а се възстановява в предишното си състояние.

    Свързани публикации